An open API service indexing awesome lists of open source software.

https://github.com/edosrecki/fzf-fish

Keyboard bindings and widgets for fzf and fish shell.
https://github.com/edosrecki/fzf-fish

cli fish fish-shell fzf git github shell

Last synced: about 2 months ago
JSON representation

Keyboard bindings and widgets for fzf and fish shell.

Awesome Lists containing this project

README

          

# fzf-fish

Keyboard bindings and widgets for `fish` shell using `fzf`.

## Widgets

### Git branches

- **Key binding:** Ctrl+G Ctrl+B
- **Mnemonic:** **G**it **B**ranches
- **Options:**
- Show **h**elp: Ctrl+H
- Toggle between local/**a**ll branches: Ctrl+A
- Check**o**ut branch: Ctrl+O
- **B**rowse branch in GitHub: Ctrl+B
- Select/deselect branch: Tab / Shift+Tab
- **Output:** Space-separated names of selected branches

![Git branches](./screenshots/branches.png)

### Git log

- **Key binding:** Ctrl+G Ctrl+L
- **Mnemonic:** **G**it **L**og
- **Options:**
- Select/deselect commit: Tab / Shift+Tab
- **Output:** Space-separated hashes of selected commits

![Git log](./screenshots/commits.png)

### Git stashes

- **Key binding:** Ctrl+G Ctrl+T
- **Mnemonic:** **G**it S**t**ashes
- **Options:**
- Drop stash: Ctrl+X
- Select/deselect stash: Tab / Shift+Tab
- **Output:** Space-separated refs of selected stashes

![Git stashes](./screenshots/stashes.png)

### GitHub PRs

- **Key binding:** Ctrl+G Ctrl+P
- **Mnemonic:** **G**itHub **P**ull requests
- **Options:**
- Show **h**elp: Ctrl+H
- Switch through PR s**t**ates: Ctrl+T / Ctrl+AltT
- Switch through result **l**limits: Ctrl+L / Ctrl+AltL
- Select/deselect PR: Tab / Shift+Tab
- **Output:** Space-separated numbers of selected PRs

![GitHub PRs](./screenshots/prs.png)

### GitHub repos

- **Key binding:** Ctrl+G Ctrl+R
- **Mnemonic:** **G**itHub **R**epositories
- **Options:**
- Show **h**elp: Ctrl+H
- Switch through repository or**g**anizations: Ctrl+G / Ctrl+AltG
- Switch through result **l**limits: Ctrl+L / Ctrl+AltL
- Select/deselect repo: Tab / Shift+Tab
- **Output:** Space-separated names of selected repos

![GitHub repositories](./screenshots/repos.png)

## Install

```fish
fisher install edosrecki/fzf-fish
```

## Configuration

Check [`conf.d/fzf_widgets.fish`](conf.d/fzf_widgets.fish) for available options.

## Recommendations

- `brew install util-linux` to get better [`column`](./functions/__fzf_column.fish) command
- `brew install git-delta` to get better [git diff](./functions/__fzf_delta.fish) output