如何通过终端在VIM中打开另一个窗口中的文件?

4

假设我想打开名为“main.cpp”的文件。我已经在正确的目录下打开了Linux终端。通常,我只需键入“vi main.cpp”即可打开文件,但这会在shell窗口中打开文件。如何在另一个窗口中打开文件?


1
你说的是另一个窗口是什么意思?你想在gvim中打开还是在另一个终端窗口中打开? - FDinoff
2
gnome-terminal -e "vi /etc/passwd"会在新的gnome终端窗口中打开vi(阅读更多)。 - jgb
4个回答

1
我不确定我理解你的问题。尽管如此,我会尝试回答:

:help client-server

因此,您可以创建一个服务器实例:

vim --servername foo

之后,您可以通过任何shell在该实例中打开文件:

vim --servername foo --remote file1 file2

甚至更短:

vim --servername vimvim --remote file1 (这里隐含地假定了服务器名称“vim”)。

编辑:您的Vim需要支持客户端-服务器架构:

:echo has('clientserver') 应该返回'1'。


1
您可以通过以下两个步骤完成:
  1. :vs(垂直拆分)或 :split(水平拆分)
  2. :open(文件路径)

然后使用 ^w [hjkl] 在不同的 Vim 窗口之间导航。 - klokop
那不是一个新窗口。 - ptierno

0

vi是一个终端文本编辑器。它将在调用它的终端窗口中打开。如果您想要一个基于X的编辑器,比如gVIM,那么您正在使用错误的编辑器。


0
你可以尝试使用gvim main.cpp,它会启动vim的GUI界面,从技术上讲,这将实现你在此处所要求的功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接