すでに vim を起動しているのに、ファイルを開く度に新たに vim を起動してしまい、煩わしい場合がある。
server 機能を使って、ファイルを開くときすでに vim が起動しているなら、新規起動したvimを閉じ、既存のvimの新しいタブで開くようにする。
サーバー名(v:servername)はデフォルト時、vim は "VIM", gVim は "GVIM" という名前になっている。
新規起動時、サーバー名が重複するときは、VIM1, VIM2... というように名前の後ろに連番が付く。
したがって、サーバー名 "VIM1" で起動した場合にその vim を終了し、サーバー名 "VIM" で開き直せばよい。
if v:servername == 'VIM1' let file = expand('%:p') bwipeout call remote_send('VIM', '<ESC>:tabnew ' .file .'<CR>') call remote_foreground('VIM') quit endif
3行目で:bwipeoutしているのは、編集ファイルが重複する('read only'オプションが付けられる)のを避けるため。
v:servernameを操作すればさらに細かい命令ができます。