使用Vim在已有标签页中打开缓冲区

4
如何告诉vim如果文件已经打开就使用现有的选项卡页?我认为这个选项应该做到这一点。
set switchbuf=usetab

作为一个最简单的例子,我只在我的.vimrc文件中有以上一行,并移除了所有插件(没有.vim目录)。但是,当我执行例如vim .vimrc然后输入:tabe .vimrc时,我会得到两个包含相同文件的选项卡页面。有没有办法防止这种情况发生?

通常情况下,您可以使用 :bu .vimrc 命令在当前标签页中打开已存在的缓冲区。如果您想要执行 :bu <filename> 命令来打开文件的已有缓冲区,但是如果不存在缓冲区,则执行 :tabe <filename> 命令,该怎么办? - Conspicuous Compiler
是的,那就是我想做的...不过我认为有一个单一的命令/选项可以实现这个。 - ubi
1个回答

0
你应该更仔细地阅读:help 'switchbuf'
This option controls the behavior when switching between buffers.

所以...那个选项对非缓冲区切换命令,比如:tabedit没有影响。

另外,:help :tabedit说:

Open a new tab page with an empty window, after the current tab page.

所以...你真的不希望那个命令打开一个新的标签页吗?

如果你想直接编辑一个新文件,使用:e filename

如果你想在水平窗口中编辑文件,使用:sp filename

如果你想在垂直窗口中编辑文件,使用:vs filename

如果你想在新的标签页中编辑文件,使用:tabe filename

如果你想切换到另一个缓冲区,使用:b

如果你想切换到另一个缓冲区并受益于switchbuf选项,使用:sb


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