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 に答える