我最近发现了选件switchbuf并尝试使用它,但是我不能说我是否不知道它应该如何工作,或者它实际上在我的Vim上不起作用。

doc可能会显示以下值:


useopen(如果包含),请跳到第一个打开的窗口,其中包含指定的缓冲区(如果有)。usetab类似于“ useopen” ,但还要考虑其他选项卡页面中的窗口。第一个缓冲区set switchbuf=useopen,usetab
分割屏幕:e file1

打开第二个缓冲区:split

回到第一个缓冲区:e file2(我也使用过:e file1

最后一个转到第一个缓冲区的命令在第二个拆分中将其打开。据我从文档中了解到,由于:bN,命令应将光标置于缓冲区已打开的第一个拆分处。当我使用制表符而不是拆分尝试相同的命令时,行为也相同。


这种行为是否是预期的行为?
如果可以的话,您能解释一下该选项的作用吗?
如果我不知道我必须调试我的useopen,但是也许有一个已知的通用设置会干扰.vimrc吗?


#1 楼

'switchbuf'仅受quickfix命令(如:cc)和缓冲区拆分命令(如:sb)的尊重。

评论


哦,我懂了。正如文档首先说的那样,此选项控制在缓冲区之间切换时的行为。后来只有几行提到了quickfix命令,而sb我认为这是常规缓冲区命令的补充。谢谢!

–statox♦
2015年9月27日在20:38