Vim:全局标记是否可以切换选项卡而不是当前选项卡中的文件?

Vim:全局标记是否可以切换选项卡而不是当前选项卡中的文件?,vim,tabs,Vim,Tabs,我正在学习vim,我刚刚学习了Mark。在此之前,我发现将我正在处理的所有源代码文件放在它们自己的选项卡中是很有用的。当我发现“全局”(大写字母)标记时,我认为切换到已打开标记文件的选项卡并快速滚动到正确位置是一种很好的方法。 然而,我发现跳转到另一个文件中的标记只会更改当前选项卡显示的文件,这会弄乱我的选项卡设置。 有没有一种方法可以让标记以我想要的方式与选项卡一起工作?选项卡可能不是执行您试图执行的操作的最佳方法。当文件打开时,它不一定只在一个选项卡中打开。它是在缓冲区中打开的,这是一个没有

我正在学习vim,我刚刚学习了Mark。在此之前,我发现将我正在处理的所有源代码文件放在它们自己的选项卡中是很有用的。当我发现“全局”(大写字母)标记时,我认为切换到已打开标记文件的选项卡并快速滚动到正确位置是一种很好的方法。 然而,我发现跳转到另一个文件中的标记只会更改当前选项卡显示的文件,这会弄乱我的选项卡设置。
有没有一种方法可以让标记以我想要的方式与选项卡一起工作?

选项卡可能不是执行您试图执行的操作的最佳方法。当文件打开时,它不一定只在一个选项卡中打开。它是在缓冲区中打开的,这是一个没有绑定到选项卡的概念

事实上,您可以在多个选项卡中打开同一缓冲区(甚至在同一选项卡中打开多个窗格)。选项卡更像是进入一个或多个当前打开的缓冲区的窗口


最好了解如何在当前选项卡或窗格中的缓冲区之间切换。只是一个建议。

问题在于,标记跳转命令被设计为在当前窗口内移动到标记,因为理论上同一文件可以有多个窗口。您需要首先使用
:sbuf
:tabnext
或CTRL+WW切换到新窗口。如果您已设置了
switchbuf=useopen,则使用选项卡
,然后首先使用
:sbuf
将足以跳转到打开文件的另一个选项卡。但“A”不会为您创建新窗口(或在其他选项卡中重复使用现有窗口)

您可能可以为
'
`
创建一个映射,该映射使用
getpos()
setpos()
:sbuf
switchbuf
跳转到另一个选项卡中的现有窗口,但它需要编写一页vimscript


请参见
:help switch buf
:help getpos()
:help setpos()

似乎不应该这样工作。我想我还是用缓冲区吧。看看问题和答案,希望他们能解决这个问题:)