外部コマンドから既存のVimインスタンスのファイルを開くことはできますか?


20

一部のアプリケーションには「セッション」の概念があり、コマンドを実行してアプリケーションの既存のインスタンスにファイルをロードできます。

たとえば、次のように入力すると:

$ firefox http://vi.stackexchange.com

Firefoxは、新しいプロセスを作成するのではなく、既存のFirefoxプロセスを再利用します。

これはVimで可能ですか?

回答:


22

でコンパイルされたvimが必要です。+clientserver次に、コマンドvim --servername SERVERを使用してvimインスタンスを起動vim --servername SERVER --remote FILEし、指定されたvimインスタンスでファイルを開くことができます。


macOSのみ

MacVimはデフォルトでサーバーを実行します- mvim --remote-tab-silent既存のMacVimインスタンスの新しいタブでmvim --remote-silentファイルを開くか、同じタブの新しいバッファーでファイルを開くために使用できます。


4

@craigpの答えは正しいですが、--remote-silentサーバー名を気にせずに単純に追加するのが最も便利であることがわかりました
名前付きvimインスタンスをアドレス指定したくないことを前提としています)

これにより、サーバーが起動します。まだ起動していない場合は、サーバーを使用します。

次のように呼び出すことができます。

gvim --remote-silent '+cal cursor(line,col)' some_file

例えば:

gvim --remote-silent '+cal cursor(102,4)' src/code.c

このリモート初期化のため、カーソルを移動する別の方法を使用する必要がありました。

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