ctrlP
是否可以从匹配窗口中复制搜索结果?<s-tab>
可以聚焦匹配窗口,但似乎无法从那里拉出。
我经常不得不在我的脚本中搜索我需要的文件,但我只是模糊地记得他们的名字。所以我ctrlP
用来查找文件。不,我想将匹配的文件名粘贴到我的脚本中。我在 ! 的文档中找不到类似的东西ctrlP
!
例如,在这种情况下,我想将光标所在的路径(在底部的匹配窗口中)复制到寄存器,然后将其粘贴到上面的窗口中......
我有同样的问题。并遵循 ~guessimtoolate 的建议。我想出了这个 CtrlP 的自定义函数。在文件上按Ctrl-t会将其文件名附加到光标处。
function! YankFilenameFunc(action, line)
if a:action =~ '^[t]$'
" Get the filename
let filename = fnameescape(fnamemodify(a:line, ':t'))
" Close CtrlP
call ctrlp#exit()
exec "normal a". filename ."\<Esc>"
else
" Use CtrlP's default file opening function
call call('ctrlp#acceptfile', [a:action, a:line])
endif
endfunction
let g:ctrlp_open_func = { 'files': 'YankFilenameFunc' }
(注意:这不是广告!)
我不使用 CtrlP,所以我不知道用 CtrlP 来做。
现在我使用LeaderF进行模糊搜索,我认为它可以解决您的问题。
使用 LeaderF,一旦打开搜索窗口,您可以按Tab
切换到正常模式。然后你可以使用,例如,yy
拉出一个文件名并将其粘贴到上面的窗口。
希望这可以帮助。