私はz shellとohmyz.shを初めて使用します。
fzfをrgと統合するために、zshrcには次のものがあります。これが fzf readme に正確に現れる方法です:
FZF_BASE=/usr/local/bin
DISABLE_FZF_AUTO_COMPLETION="true"
DISABLE_FZF_KEY_BINDINGS="true"
INITIAL_QUERY=""
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
FZF_DEFAULT_COMMAND="$RG_PREFIX '$INITIAL_QUERY'" \
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
--ansi --disabled --query "$INITIAL_QUERY" \
--height=50% --layout=reverse
ある程度動作しますが、奇妙で壊れた動作が表示されます。
奇妙な動作は、zshellを再ロードするときにキーを押すか、コマンドを入力せずにfzfがすぐに開始されることです。うまく動作しますが、それ以外は。
破損した動作は、手動で入力すると
fzf
検索が開始されますが、FZF_DEFAULT_COMMANDがプラグインが使用するように設定されることです。
export
この動作を前方に叩いて修正しようとしましたが、FZF_DEFAULT_COMMAND
zshを再ロードするとエラーが発生します。
/Users/me/.zshrc:export:313: not valid in this context: --bind
次に、ohmyzshプラグインをオフにし、コードを次のように修正しました。
FZF_DEFAULT_COMMAND="$RG_PREFIX '$INITIAL_QUERY'" \
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
--ansi --disabled --query "$INITIAL_QUERY" \
--height=50% --layout=reverse
export FZF_DEFAULT_COMMAND
これはうまくいきますが、zshをロードするとfzfが起動します。さらに、検索形式はANSI文字のために破損して見苦しくなります。
答え1
さて、問題はこのコードを.zshrcに入れることです。そこには行かないでしょう。別のスクリプトファイルまたは関数にあります。