ペインで選択したファイルを起動しfzf
て開く方法は?vim
プラグインをインストールしたくありません。
頑張った
:!a=$(ls | fzf) && vsplit $a
答え1
コンソールにアクセスする必要があるため、fzf
コンソールをフォアグラウンドコマンドとして実行する必要がありますが、実際にはこれを行う良い方法はありません。そしてfzf
パイプを介してVimから(ファイル名)の出力をキャプチャします。したがって、一時ファイルを使用してファイル名を保存するのがここで最も簡単な方法です。
簡単な解決策は次のとおりです。
function! SelectFile()
let tmp = tempname()
execute '!ls | fzf >'.tmp
let fname = readfile(tmp)[0]
silent execute '!rm '.tmp
execute 'vsplit '.fname
endfunction
次に、次のコマンドで使用します。
:call SelectFile()
(またはそのためのキーマップまたはユーザーコマンドを作成します。)
Shellで終了するのではなく、Vimを使用して:terminal
実行するのも良い選択です。fzf
:!
とにかく最善の方法は、良いVimプラグインまたはVimに含まれているプラグインを使用することです。富士それ自体がより完全かもしれません。fzf.vimこれは低レベルのプラグインに基づいて構築され、大きな利点を得るための強力な機能を提供します。