5

ctrlP是否可以从匹配窗口中复制搜索结果?<s-tab>可以聚焦匹配窗口,但似乎无法从那里拉出。

我经常不得不在我的脚本中搜索我需要的文件,但我只是模糊地记得他们的名字。所以我ctrlP用来查找文件。不,我想将匹配的文件名粘贴到我的脚本中。我在 ! 的文档中找不到类似的东西ctrlP

在此处输入图像描述

例如,在这种情况下,我想将光标所在的路径(在底部的匹配窗口中)复制到寄存器,然后将其粘贴到上面的窗口中......

4

2 回答 2

0

我有同样的问题。并遵循 ~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' }
                                                                                                       
于 2021-08-04T15:46:54.947 回答
0

(注意:这不是广告!)

我不使用 CtrlP,所以我不知道用 CtrlP 来做。

现在我使用LeaderF进行模糊搜索,我认为它可以解决您的问题。

使用 LeaderF,一旦打开搜索窗口,您可以按Tab切换到正常模式。然后你可以使用,例如,yy拉出一个文件名并将其粘贴到上面的窗口。

希望这可以帮助。

于 2018-08-17T01:00:24.360 回答