Vimからnautilusを使う

nautilusっていうのは、WindowsでいうところのLinux版ファイルエクスプローラーで、よく下記のように使います。

$ nautilus ~/デスクトップ

こうするとデスクトップディレクトリのファイルエクスプローラが開けるし、

$ nautilus .

ってやるとカレントディレクトリのファイルエクスプローラが開けます。
まあ、これをVimからやろうというわけです。
Vimでは:!dateみたいな感じでコマンドラインモードに!(エクスクラメーション)をつけるとLinuxのコマンドが使えたりします。
でも普通にやると、

:!nautilus .


ってな感じで「続けるにはEnterを押すかコマンドを入力してください」っていうメッセージが出て、ウザかったりします。
ということで、.vimrcに

function! Nautilus()
  let current_dir = expand('%:p:h')
  exec 'silent !nautilus ' . current_dir
endfunction
command! -nargs=0 Nautilus call Nautilus()

って書いておくと

:Nautilus

って感じで、コマンドラインモードより打つと、上記のようなメッセージも出ずに普通にファイルエクスプローラが開けます。
最近やっとvimスクリプトがちょっと書けるようになった。。。

参考

Vimはやっぱり自分でvimヘルプを見るのが一番です。

:h expand()
:h silent()
:h command-nargs