🐕

入力初期値を指定して CtrlP を起動

2023/01/09に公開

ctrlpvim/ctrlp.vim では g:ctrlp_default_input を設定すると CtrlP 実行時の初期値として使用できる。
コマンドから指定できるように下のように書いてみた。
call vimrc#CtrlPDefaultInput('CtrlPLine %', expand('<cword>') .. ' ') としてやると CtrlPLine を実行してカーソル下の文字列が入力された状態になる。

~/vimfiles/autload/vimrc.vim
function! vimrc#CtrlPDefaultInput(cmd, input)
  try
    let l:default_input_save = get(g:, 'ctrlp_default_input', '')
    let g:ctrlp_default_input = a:input
    execute a:cmd
  finally
    if exists('l:default_input_save')
      let g:ctrlp_default_input = l:default_input_save
    endif
  endtry
endfunction
GitHubで編集を提案

Discussion