1
我试图用fzf在vimscript中创建一个目录搜索和替换函数。当我尝试使用Alt-a
fzf绑定来选择整个列表时,我阻止的地方是。我甚至不确定这是否可能,因为fzf是一个外部过程,但我可能是错的。如何创建一个目录搜索并用vimscript和fzf替换
这是我目前的功能。
function! CWDSearchAndReplace()
" Try to get word under cursor else prompt user for a word
let wordToReplace = expand("<cword>")
if wordToReplace == ""
call inputsave()
let wordToReplace = input("Replace: ")
call inputrestore()
endif
" Prompt for replacement
call inputsave()
let replacement = input("Replace \"" . wordToReplace . "\" with: ")
call inputrestore()
execute "Ag " . wordToReplace
" =====> Here I'd like to execute Alt-a followed by <CR>
execute "cdo %s//" . replacement . "/gc"
end function
感谢您的帮助!
你从哪里得到那个'Alt-a'?你在说[fzf](https://github.com/junegunn/fzf)还是[fzf.vim](https://github.com/junegunn/fzf.vim)?为什么你的函数中有这么多的第三方工具? – romainl
fzf.vim。 Ag是fzf.vim的一部分,cdo现在是vim的一部分。 Alt-A来自fzf.vim文档,并且由于使用fzf而被硬编码 –
跨文件搜索和替换的便捷方法是使用vim-ripgrep进行搜索,并使用quickfix-reflector将所有编辑保存在产生quickfix窗口。 – jasonjonesutah