yiskw note

機械学習やプログラミングについて気まぐれで書きます

fzfでCTRL+Rなどのショートカットが機能しない


概要

yiskw713.hatenablog.com

私はこちらの記事で紹介したコマンドライン曖昧検索ツールであるfzfを愛用しているのですが,
ふとある日を境にCTRL+RCTRL+Tのようなショートカットが使えなくなってしまいました.

原因

こちらについて調査していたところ,どうやらFZF_DEFAULT_OPTS--previewオプションを追加していたことが問題なようでした.

▽良くない設定例

# DO NOT USE THIS SETTING
export FZF_DEFAULT_OPTS="
    --preview --height 40% --reverse --border=sharp --margin=0,1
    --prompt=' ' --color=light
"

色々と設定をいじっていた際に,謝って--previewを追加してしまったのが原因のようでした.
--previewオプションついては,README.mdにも記載があり,以下とのことでした.

Since fzf is a general-purpose text filter rather than a file finder, it is not a good idea to add --preview option to your $FZF_DEFAULT_OPTS.

解決方法

そのため各種設定を以下のように変更することで,無事機能しました.

export FZF_DEFAULT_COMMAND='rg --files --hidden --follow --glob "!**/.git/*"'
export FZF_DEFAULT_OPTS="
    --height 40% --reverse --border=sharp --margin=0,1
    --prompt=' ' --color=light
"

# for finding files in current directories
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_CTRL_T_OPTS="
    --preview 'bat --color=always --style=header,grid {}'
    --preview-window=right:60%
"

# Ref: https://wonderwall.hatenablog.com/entry/2017/10/06/063000
# コマンドが長すぎる時に?を押すと,全コマンドが見れる
export FZF_CTRL_R_OPTS="
    --preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'
"

参考