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을 사용하고, 검색을 위해 vim-ripgrep을 사용하는 것입니다. quickfix 창이 생성됩니다. – jasonjonesutah