Vim:drop for:buffer-如果buffer已通过tab autocomplete打开,则跳转到窗口
已向我介绍了Vim:drop for:buffer-如果buffer已通过tab autocomplete打开,则跳转到窗口,vim,Vim,已向我介绍了:drop命令,该命令类似于:edit,但如果存在使用相同路径打开的缓冲区,则该命令将重点放在现有窗口上,而不是占用当前窗口 是否有类似于:drop的命令,这样当我尝试使用tab complete时,就不会像:drop那样列出当前目录中的文件,而是像:buffer那样在打开的缓冲区中搜索?您可以尝试:sbuffer。它的工作原理类似于:buffer,只是它尝试跳转到显示所需缓冲区的第一个窗口,默认情况下在新窗口中打开它。其行为由switchbuf选项控制 :help :sbuffer
:drop
命令,该命令类似于:edit
,但如果存在使用相同路径打开的缓冲区,则该命令将重点放在现有窗口上,而不是占用当前窗口
是否有类似于
:drop
的命令,这样当我尝试使用tab complete时,就不会像:drop
那样列出当前目录中的文件,而是像:buffer
那样在打开的缓冲区中搜索?您可以尝试:sbuffer
。它的工作原理类似于:buffer
,只是它尝试跳转到显示所需缓冲区的第一个窗口,默认情况下在新窗口中打开它。其行为由switchbuf
选项控制
:help :sbuffer
:help 'switchbuf'
谢谢使用
:set switch buf+=useopen
和:tab sbuffer file
可以满足我的要求。对OP的问题的回答很好,但准确地说,:sbuffer
的工作方式与:buffer
不同,它会在另一个窗口中找不到目标时分割当前窗口,当它的目标是当前缓冲区时,它也会这样做(一个无操作的:buffer
)。@kopischke,所有这些都在:help:sbuffer
@romainl-yup中解释过,但您的回答是“它的工作原理类似于:buffer,只是它试图跳转到第一个显示所需缓冲区的窗口,然后在新窗口中打开它”,这实际上是不正确的,即使您链接到正确的文档。也许可以修改那句话?