目的:Vim のサーバー名(v:servername)を指定して、VIM1 から VIM2 へ編集中のファイルを移動させる。
動機:Vimを複数起動時、一旦ファイルを閉じて別のVimでファイルパスを指定して開き直すのが面倒。
function! SendAnotherVim(servername) let file = expand('%:p') bwipeout call remote_send(a:servername, '<ESC>:new ' .file .'<CR>') endfunction
とても単純なやり方。リモートで :new hogehoge とやっているだけ。フォーカス中のファイルをサーバー名 VIM2 に送るときには以下のようにする。
:call SendAnotherVim('VIM2')
キーマッピングしても便利。以下の例は、キー \k で、フォーカス中のファイルをサーバー名 GVIM に送る。
noremap \k :call SendAnotherVim('GVIM')\|q<CR>