
如何在分割視窗中啟動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()
(或為其建立鍵映射或使用者命令。)
使用 Vim在其中:terminal
運行fzf
(而不是用 Shell 退出:!
)也是一個不錯的選擇。
無論如何,真正最好的方法是只使用一個優秀的 Vim 插件,或者是包含在佛茲夫本身,也可能是更完整的fzf.vim它建立在低階插件的基礎上,提供強大的功能,您將受益匪淺。