fzf探訪
installから
brew installしたらこんなプロンプトが
To install useful keybindings and fuzzy completion:
/opt/homebrew/opt/fzf/install
やってみたらfish_user_key_bindingsが作られた
Create /Users/h_nakagawa/.config/fish/functions/fish_user_key_bindings.fish:
function fish_user_key_bindings
fzf_key_bindings
end
試しにghr cd $(fzf)
してみたけど、.ghr/以下のあらゆるディレクトリが引っかかって使い物にならない。13万件hitしてた
Wikiみたけど解説がzshだったので、fish用のドキュメント無いかなーと思って探したらこれを発見
installしてみる。依存パッケージから。
batのsyntax highlightめっちゃ見やすい
fzf.fishをinstallする前にもうちょい詳しく見る
自前のOPTIONがなければこいつが適用されるらしい
パッケージ自体はよく使うコマンドを覚えやすいkeyにbindするだけらしい
とりあえず今回の目標は「ghq+pecoでやるようなことをghr+fzfで達成する」ですね。
つまり ghr cd ...を曖昧検索から行って、さらにそいつを適当なkeyにbindすること
例えばこれがディレクトリ検索のコマンドっぽいが...基礎が欠けてて今パッとは読めないな
key binding忘れそうなので一旦今は見送り
fdとbatは採用
ディレクトリ移動ならzとfishの補完だけで苦労無いのよね
そういえばこんな記事あったな
参考になりそう
あー、ghr list
が動かなかったので終わりかもしれん
❯ ghr list
error: The subcommand 'list' wasn't recognized
Usage: ghr <COMMAND>
For more information try '--help'
こういうのってIssueに上げたほうがいいのかな
勇気出して送ってみた。なにかきに障ることがありませんように...
どうにもならなかったらghq入れてこれかなー
これだけだったらpeco使うのと変わらないじゃんね。もうちょい探求したい。
gh周りはたしかに便利そう
同じ感じでIssueのあいまい検索からWebページにジャンプ
gh issue list | fzf | awk '{print $1}' | xargs gh issue view -w
awk '{print $1}'がうまく動かなかったのでこうした
alias issw='gh issue list | fzf | cut -f1 | xargs gh issue view -w'
alias prin='gh pr list | fzf | cut -f1 | xargs gh pr checkout'
似たような感じでPR見に行くやつもやるか
alias prvw='gh pr list | fzf | cut -f1 | xargs gh pr view -w'
ふつうにghから始まるalasのほうがいいかな
alias ghi='gh issue list | fzf | cut -f1 | xargs gh issue view -w'
alias ghp='gh pr list | fzf | cut -f1 | xargs gh pr view -w'
alias ghpc='gh pr list | fzf | cut -f1 | xargs gh pr checkout'
historyがほしかったのでfzf.fish入れた
key bindingsが覚えられそうにないので解説コマンドを用意
### see fzf.fish key bindings
22 │ alias kb='fzf_configure_bindings -h | sed -n 11,17p'
❯ kb
COMMAND | DEFAULT KEY SEQUENCE | CORRESPONDING OPTION
Search Directory | Ctrl+Alt+F (F for file) | --directory
Search Git Log | Ctrl+Alt+L (L for log) | --git_log
Search Git Status | Ctrl+Alt+S (S for status) | --git_status
Search History | Ctrl+R (R for reverse) | --history
Search Processes | Ctrl+Alt+P (P for process) | --processes
Search Variables | Ctrl+V (V for variable) | --variables
caps lockにcontrolを貼っておくとだいぶ使いやすい
preview windowをキーボードでスクロールするやり方がわからない
これも便利
ghr list
回答いただいて無事に動かせた
のでこれをやる
function fzf-repo
cd $(ghr list | fzf | awk '{print substr($0, index($0, ":")+1)}' | xargs ghr path)
commandline -f repaint
end