Closed31

fzf探訪

hajimismhajimism

brew installしたらこんなプロンプトが

To install useful keybindings and fuzzy completion:
  /opt/homebrew/opt/fzf/install
hajimismhajimism

やってみたら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
hajimismhajimism

試しにghr cd $(fzf)してみたけど、.ghr/以下のあらゆるディレクトリが引っかかって使い物にならない。13万件hitしてた

hajimismhajimism

とりあえず今回の目標は「ghq+pecoでやるようなことをghr+fzfで達成する」ですね。
つまり ghr cd ...を曖昧検索から行って、さらにそいつを適当なkeyにbindすること

hajimismhajimism

key binding忘れそうなので一旦今は見送り
fdとbatは採用

hajimismhajimism

ディレクトリ移動ならzとfishの補完だけで苦労無いのよね

hajimismhajimism

あー、ghr listが動かなかったので終わりかもしれん

❯ ghr list
error: The subcommand 'list' wasn't recognized

Usage: ghr <COMMAND>

For more information try '--help'

こういうのってIssueに上げたほうがいいのかな

hajimismhajimism
hajimismhajimism

同じ感じでIssueのあいまい検索からWebページにジャンプ
gh issue list | fzf | awk '{print $1}' | xargs gh issue view -w

hajimismhajimism

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'
hajimismhajimism

似たような感じでPR見に行くやつもやるか
alias prvw='gh pr list | fzf | cut -f1 | xargs gh pr view -w'

hajimismhajimism
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'
hajimismhajimism


historyがほしかったのでfzf.fish入れた

hajimismhajimism

key bindingsが覚えられそうにないので解説コマンドを用意

 ### see fzf.fish key bindings
  22alias 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

hajimismhajimism

caps lockにcontrolを貼っておくとだいぶ使いやすい

preview windowをキーボードでスクロールするやり方がわからない

hajimismhajimism

ghr list 回答いただいて無事に動かせた
のでこれをやる

function fzf-repo
  cd $(ghr list | fzf | awk '{print substr($0, index($0, ":")+1)}' | xargs ghr path)
  commandline -f repaint
end
hajimismhajimism

ちなみにecho <owner>/<repo> | xargs ghr cdがうまく動かなかったので、cd $( ... xargs ghr path)にしてる

このスクラップは2022/12/22にクローズされました