如何在vim中多个标签页中编辑同一个文件?

34
我经常在vim中编辑较长的文件,其中有多个不同位置上的代码块需要我不断地来回切换。显然,解决这个问题的一种方法是使用 :split 命令将窗口分割,并在不同的拆分窗口中编辑每个部分,而在任一窗口中使用 :w 命令都将保存整个文件。但是如果你使用低分辨率的笔记本电脑,你不想通过分割窗口来进一步减少屏幕空间。
在这种情况下,我真正想做的是在多个选项卡中编辑该文件,并将每个单独的选项卡视为一个独立的拆分视图。我可以通过在打开一个文件的同时使用 :tabopen <相同的文件名> 命令来模拟这个操作,但这有点hacky——如果我已经对文件进行了更改,那么它就不起作用,因为vim认为我只是第二次打开文件。
有没有一种很好的方法来在vim中实现我想要的选项卡行为?

4
另一种实现方法是在文件中标记为mamb等位置,并使用'a'b等返回到这些位置。 - Paul Tomblin
2个回答

47
< p > :tab 命令带有一个命令参数。

因此,您可以这样做:

:tab split

即使缓冲区被修改,这也会起作用,任何一个标签页上的保存操作都将保存文件并更新两者的已保存状态。


9
您可以使用:tab命令:
:[count]tab {cmd}`

Execute {cmd} and when it opens a new window open a new tab page instead. [...] When [count] is omitted the tab page appears after the current one. When [count] is specified the new tab page comes after tab page [count]. Use :0tab cmd to get the new tab page as the first one.

Examples:

:tab split           " opens the current buffer in new tab page
:tab help gt         " opens tab page with help for "gt"

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