Google ChromeやFirefoxのタブのようにバッファを複数Vim間でやりとりできるプラグイン作りました
※この記事はVim Advent Calendar 2012の256日目の記事です。
使い方
2つのVimが起動しているとします。
--------- --------- | GVIM1 | | GVIM2 | --------- ---------
そしてGVIM1がhello.txtというファイルを編集しているとしましょう。
その場合、次の2つのコマンドでhello.txtのバッファをGVIM2に移動させることができます。
(その際GVIM1のバッファは閉じられます。もしhello.txtのウインドウしか開いていなかったらVimも終了します)
" GVIM2で実行 :TransGetBuffer GVIM1 hello.txt
もしくは
" GVIM1で実行 " ("hello.txt"が省略された場合、現在のバッファがGVIM2に移動されます) :TransPutBuffer GVIM2 hello.txt
補完
これらのExコマンドはwildcharに設定しているキーを押せば補完が効きます。
特に設定していなければ
" ここで<Tab>を押せば現在起動しているVimの一覧が表示されます。
:TransPutBuffer
" ここで<Tab>を押せば現在GVIM1で編集しているファイルの一覧が表示されます。 " <C-d>を押せば通常の補完と同じく一覧表示できます。 :TransPutBuffer GVIM1