You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Junegunn Choi f1a4f048e8
git diff --no-ext-diff
2 years ago
README.md Clarification 2 years ago
fzf-git.sh git diff --no-ext-diff 2 years ago

README.md

fzf-git.sh

bash and zsh key bindings for Git objects, powered by fzf.

Each binding will allow you to browse through Git objects of a certain type, and select the objects you want to paste to your command-line.

Installation

  1. Install the latest version of fzf
    • (Optional) Install bat for syntax-highlighted file previews
  2. Source fzf-git.sh file from your .bashrc or .zshrc

Usage

  • List of bindings
    • CTRL-GCTRL-F for Files
    • CTRL-GCTRL-B for Branches
    • CTRL-GCTRL-T for Tags
    • CTRL-GCTRL-R for Remotes
    • CTRL-GCTRL-H for commit Hashes
    • CTRL-GCTRL-S for Stashes
  • Inside fzf
    • TAB or SHIFT-TAB to select multiple objects
    • CTRL-/ to change preview window layout
    • CTRL-O to open the object in the web browser (in GitHub URL scheme)

Customization

# Redefine this function to change the options
_fzf_git_fzf() {
  fzf-tmux -p80%,60% -- \
    --layout=reverse --multi --height=50% --min-height=20 --border \
    --preview-window='right,50%,border-left' \
    --bind='ctrl-/:change-preview-window(down,50%,border-top|hidden|)' "$@"
}