fzfのCTRL + Tを使用してコマンドラインにコマンドを入力します。

fzfのCTRL + Tを使用してコマンドラインにコマンドを入力します。

私は一般的に使用されるコマンドスニペットのリストをファイル(フラグメントリストと呼ばれる)に保存します。このリストは、実行前に追加の編集に必要なものをコマンドラインに切り取りまたはコピーするために使用されます。私はこれをより簡単にするためにfzfのCTRL + Tオプションを利用できると思いました。関連する基本環境変数は次のとおりです。

export FZF_CTRL_T_COMMAND="find . -type f -printf '%P\n'"

だから簡単に次のように変更しました。

export FZF_CTRL_T_COMMAND="cat ~/sniplist"

予想通り、私の作品のリストが表示されます。行を選択すると、コマンドラインに表示されますが、アルファベット以外のすべての文字はバックスラッシュでエスケープされます。たとえば、次のような行があります。

seq 0 4 100 | fzf --preview="date -d '{}  week 18 april 2023'"

次のようにコマンドラインに入力します。

seq\ 0\ 4\ 100\ \|\ fzf\ --preview=\"date\ -d\ \'\{\}\ \ week\ 18\ april\ 2023\'\"

この副作用をどのように回避できますか?

関連情報