【问题标题】:Vim: can global marks switch tabs instead of the file in the current tab?Vim:全局标记可以切换选项卡而不是当前选项卡中的文件吗?
【发布时间】:2011-03-18 20:25:03
【问题描述】:

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

【问题讨论】:

  • 似乎不应该像这样工作。我想我不妨只使用缓冲区。
  • this问答,希望他们能让这个问题消失:)

标签: vim tabs


【解决方案1】:

选项卡可能不是执行您想做的事情的最佳方式。打开文件时,不一定只在一个选项卡中打开。它在缓冲区中打开,这是一个与选项卡无关的概念。

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

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

【讨论】:

    【解决方案2】:

    问题在于标记跳转命令被设计为在当前窗口内移动到标记,因为理论上同一个文件可以有多个窗口。您需要first 使用:sbuf:tabnextCTRL+WW 切换到新窗口。如果您设置了switchbuf=useopen,usetab,那么首先使用:sbuf <otherfile> 就足以跳转到打开文件的另一个选项卡。但 'A 不会为您创建新窗口(或在另一个选项卡中重新使用现有窗口)。

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

    请参阅:help switchbuf:help getpos():help setpos()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 2018-12-23
      • 1970-01-01
      相关资源
      最近更新 更多