我正在学习vim,我刚学会了标记。在此之前,我发现在我们自己的选项卡中处理所有源代码文件很有用。当我发现“全球”(大写字母)标记时,我认为这将是一种很好的方法,可以切换到已打开标记文件的标签,并快速滚动到正确的位置。 但是,我发现跳转到另一个文件中的标记只会更改当前标签显示的文件,这会弄乱我的标签设置。 有没有办法让标记以我想要的方式与标签一起使用?
答案 0 :(得分:4)
问题是标记跳转命令被设计为移动到当前窗口中的标记 。您需要使用:sbuf
或:tabnext
或 CTRL + W W 切换到新窗口 。如果您设置了switchbuf=useopen,usetab
,那么首先使用:sbuf <otherfile>
就足以跳转到文件打开的其他标签页。但'A 不会为您创建新窗口(或在另一个标签中重复使用现有窗口)。
你可以为'
和`which uses
getpos(),
setpos(),
:sbuf , and
switchbuf`创建一个映射来跳转到另一个选项卡中的现有窗口,但它将涉及编写一个vimscript页面。
请参阅:help switchbuf
和:help getpos()
以及:help setpos()
。
答案 1 :(得分:1)
标签可能不是您尝试做的最佳方式。文件打开时,不一定只在一个选项卡中打开。它在缓冲区中打开,这是一个与标签无关的概念。
实际上,您可以在多个选项卡中打开相同的缓冲区(甚至可以在同一选项卡中打开多个窗格)。选项卡更像是一个或多个当前打开的缓冲区的窗口。
了解如何在当前标签或窗格中的缓冲区之间切换可能会更好。只是一个建议。