Vimfiler のカレントディレクトリを Unite.vim で絞り込む

開いている Vimfiler のカレントディレクトリ内を Unite.vim で絞り込みたい。

VimFiler でカレントディレクトリ内での絞込みに unite.vim を使う - Qiita という記事がやりたい事に近いのだけど、これは Vim のカレントディレクトリ内を絞り込んでいる。

Vim のカレントディレクトリを変更するオプション (vimfiler-options-auto-cd) を使うことで似たようなことを実現できるのだが、 そんなことはせずに Vimfiler のカレントディレクトリ内を絞り込みたい。

ドキュメントを読んでみたところ vimfiler#helper#_get_file_directory() で開いている Vimfiler のカレントディレクトリを取得できそう。 上の記事を参考に .vimrc に以下の設定を書いた。

Vimfiler を開いているところで / キーでシュッとカレントディレクトリを絞り込める。便利!!

function! UniteFileCurrentDir()
  let s  = ':Unite file -start-insert -path='
  let s .= vimfiler#helper#_get_file_directory()

  execute s
endfunction

autocmd FileType vimfiler
      \ nnoremap <buffer><silent>/
      \ :call UniteFileCurrentDir() <CR>

Vim Script 力が低いので良い書き方があれば教えてください。

© 2023 暇人じゃない. All rights reserved.