我可以通过外部命令在现有Vim实例中打开文件吗?


20

某些应用程序具有“会话”的概念,您可以在其中运行命令以在应用程序的现有实例中加载文件。

例如,当我键入:

$ firefox http://vi.stackexchange.com

Firefox重用了现有的Firefox进程,而不是创建一个新的进程。

Vim有可能吗?

Answers:


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

由于这种远程初始化,我最终需要使用另一种移动光标的方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.