vim中C-T和C-o的区别是什么?

7

这两个vim键盘快捷键看起来有着相似的作用:<C-T>会回到历史记录中的上一个标签,而<C-o>则会返回跳转列表中的上一条目。这两者之间有什么区别呢?


4
@jww - 该问题符合[帮助中心]下的此处可以询问哪些话题?部分所定义的范围,涉及“程序员常用的软件工具”,并且是一个“实用、可回答的问题,与软件开发有关,并且独特”。 - Lix
@Lix - 这是无用的标准。几乎所有计算机上的软件都是由开发人员使用的。OP需要更加努力地将其带回到编程领域中。或者他应该将问题带到专门针对此类问题的网站上。 - jww
2
@jww - 我们不是在谈论任何旧软件... 在这种情况下,Vim被用作IDE,因此它“软件开发中独特的问题”。 - Lix
2
@jww - 根据你的逻辑,任何其他讨论Sublime或Visual Studio的帖子也是离题的 - 实际上它们并不是。 - Lix
1
你的说法是正确的,VIM被认为是一种编程工具 - 它确实是。根据这个逻辑和[帮助]中的陈述,你的帖子发在了正确的地方。它很可能也会被[su]接受 - 但这并不意味着它在[so]上是离题的。 - Lix
显示剩余2条评论
1个回答

9

只有在使用类似于 :tag foo<c-]> 这样的方式跳转到标签时,标签栈才会被填充。这意味着,您可以在 <C-]><C-t> 之间执行任意数量的非标签相关跳转,而不会改变标签栈,并且可以相当自信地认为 <C-t> 将始终将您跳转到您访问过的最新标签并从中进行跳转。

另一方面,跳转列表将记录您在标签相关跳转之间执行的所有跳转,因此使用 <C-o> 通常需要尝试多次才能返回到您想要去的位置,而 <C-t> 则更为专业,可快速返回上一个标签。

<C-o> 视为“万能”的返回方式,将 <C-t> 视为 <C-o> 的更加专业化的版本。


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