如果您正在VIM中编辑文件,然后需要打开现有缓冲区(例如,从缓冲区列表中)::buffers如何在垂直拆分中打开它?
我知道你已经可以通过正常分割打开它,如:
:sbuffer N
Run Code Online (Sandbox Code Playgroud)
Wehere N是您想要的缓冲区编号,但是,上面打开N缓冲区水平而不是垂直.
我也知道你可以在打开后更改窗口位置,并像这样进行垂直分割:
Ctrl-W H
Ctrl-W L
Run Code Online (Sandbox Code Playgroud)
这会将窗口垂直分割为右侧或左侧.
在我看来,如果有一个sbuffer应该有一个,vsbuffer但不存在(不是我知道)
此外,请注意我不是在寻找一个插件来解决这个问题.我知道有很多插件可以让你这样做.
我相信我可能会遗漏已经存在的东西.
编辑:在最好的合作精神,我已经创建了一个简单的功能与映射如果其他人偶然发现这个问题,并且不想安装插件:
功能:
" Vertical Split Buffer Function
function VerticalSplitBuffer(buffer)
execute "vert belowright sb" a:buffer
endfunction
Run Code Online (Sandbox Code Playgroud)
制图:
" Vertical Split Buffer Mapping
command -nargs=1 Vbuffer call VerticalSplitBuffer(<f-args>)
Run Code Online (Sandbox Code Playgroud)
这完成了在右侧拆分中打开缓冲区的任务,因此对于缓冲区1,您可以将其称为:
:Vbuffer 1
Run Code Online (Sandbox Code Playgroud)
Jee*_*eet 191
尝试:
:vert sb N
Run Code Online (Sandbox Code Playgroud)
这将打开左侧垂直分割(默认情况下,除非您修改了一些选项).
另一方面,要向右打开分割:
:vert belowright sb N
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以通过将以下内容添加到您的 .vimrc 来减轻您的痛苦
cabbrev vb vert sb
Run Code Online (Sandbox Code Playgroud)
现在您可以通过以下方式使用它。
:vb <buffer>
Run Code Online (Sandbox Code Playgroud)
我发现最有用的 OP 答案深深地嵌入在 Jerinaw 的答案及其评论中,以及 Wolfson 的答案中。但我觉得它可能会被带出更多。(这些人也没有得到最高的投票,尽管在我看来他们是回答 OP 最好的人。)
为什么没有:vsbuffer,这个问题的答案是有。它被称为:vsplit并且可以作为
:vsplit NameOfBuffer
或者
:vsplit #NumberOfBuffer.
(在第二次使用中,请注意哈希 # 很重要。如果您想到达缓冲区编号 3,您需要说:vsplit #3,而不仅仅是:vsplit 3这将创建一个名为“3”的新文件。)
同样,这个答案嵌入在上面,它对于快速扫描仪 IMV 来说还不够清楚。