牢獄機械文書群 目次 » 計算機 » 現在地

Vim で編集中のファイルを別の Vim で開く

2014-08-01

Vim を複数起動せず1つにまとめるの応用。

目的: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>
← もどる
inserted by FC2 system