複数のモニターにまたがるVim


9

MacVimまたはgvimを複数の(解像度が異なる可能性のある)モニターにまたがるエレガントなソリューションを持っている人はいますか?バッファとスワップファイルが別々になっているため、2つのセッションがあるとうまく機能しません。

2つのGUIウィンドウで同じバッファーを共有できると思いますが、機能するものが見つかりません。


1
これに対する答えも知りたいのですが。私は正しいvimdoc.sourceforge.net/htmldoc/remote.htmlを見つけました。これは正しい方向のようです。しかし、私はまだそれを試していません。
Amjith、2011年

回答:


1

gvimウィンドウを拡張して両方の画面をカバーし、を使用CTRL-W vして編集ウィンドウを垂直に分割します。

:help CTRL-Wその他のウィンドウコマンドについては、を参照してください。


1
私はウィンドウを分割することをよく知っています。残念ながら、これは異なるモニター解像度ではうまく機能しません。これを行うには良い方法は本当にないようです。
Patm

1

私はしばしばマルチモニターも使用するので、vimがこの機能を実装するまで使用する簡単な回避策を作りました。gitvという名前のluaスクリプトを使用して、GVIMの複数のインスタンスでファイルを同時に開くことができます。基本的に、GVIM1とGVIM2という名前のGVIMのインスタンスが2つある場合、私が行ったのは、一度に1つのファイルのみが編集可能であり、他のすべてのファイルはビューアであることを確認することだけでした。(すべてがプロンプトなしで自動的に行われます。)

ワークフロー:現在、gitvはgitリポジトリ用に設計されているため、gitリポジトリ内のファイルにのみ使用できます。lsFiles()関数を変更することで、このデフォルトの動作を簡単に変更できます。

最初にGVIM1でa.txtを開くには、次を使用します。

$ gitv gvimr GVIM1 a.txt

gvimウィンドウがない場合は、これが開きます。次に、別のインスタンスGVIM2で同じa.txtを開くには、次のコマンドを使用します。

$ gitv gvimr GVIM2 a.txt (または$ gvim2 a.txtのようなエイリアスを作成できます)

次に、gitvは内部的に次のことを行います。

  1. 「a.txt」が開いているgvimのすべてのインスタンスを検索します。(この場合、GVIM1)
  2. これらすべてのa.txtバッファーを「読み取り専用」、「公称化可能」、および「自動読み取り」に設定します。
  3. 変更されたバッファは、「読み取り専用」に設定する前にディスクに書き込まれます。
  4. スワップファイルを削除します。
  5. GVIM2でa.txtを再度開きます。(スワップファイルがないため、gvimは問題なくそのファイルを開くことができます。)

モニター2ではなくモニター1のa.txtを編集する場合は、次のようにしてアクティブバッファーを切り替えます。 + a.txt

(これにより、データの破損を防ぐために、gvimの「読み取り専用」の他のインスタンスで同じバッファが自動的にオープンに設定されます。)

gitvはここからダウンロードできます:http ://code.google.com/p/gitv/ これはLinux gvimでのみテストされましたが、MacVIMに簡単に移植できました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.