我知道可以使用:split:vsplit在拆分中打开新文件,但是是否可以使用现有缓冲区打开新拆分,并可能利用自动完成功能?

评论

您是否尝试过不带参数的:sp(lit)或:vs(plit)? :)

#1 楼

使用sbuffer命令可以使用现有的缓冲区名称或编号创建拆分。 :sb#将打开一个缓冲区编号为#的拆分(如:buffers列表中所示)。 :sb foo将打开一个名为foo的缓冲区的拆分。制表符完成将循环可用的缓冲区名称。

如果要垂直分割而不是默认的水平分割,可以使用:vertical sb...

评论


是否有较不冗长的方法来打开新的垂直拆分中的现有缓冲区?像:v sb之类的东西?

–zepp.lee
18年4月28日在13:52

我相信“垂直”只能缩写为“垂直”,因此,如果您想更简洁一些,则必须制作自定义命令/函数/等

–user72
18年4月28日在14:14

我使用此映射来完成这项工作。 ls列出了所有打开的缓冲区,因此您不必记住名称:) nnoremap vb:ls :vertical sb

–Mattia72
20-2-3在7:33



#2 楼

:(v)split <name_of_buffer>:(v)split #<buffer_number>

此答案显示了以上@ user72的答案和@ zepp.lee的注释的较短方法。例如,您可以使用

:vsp #2

:vsp test.js


评论


欢迎来到该网站@alexhg!我们鼓励用户创建详细的答案,以确保它们对其他读者尽可能有用:如果您解释了为什么建议使用此解决方案,也可以链接到文档,这将很有用。目前,您的答案被标记为“低质量”,但是您可以使用“编辑”按钮来解决。

–statox♦
19年9月2日在18:29

:(v)sp#可以正常工作,但是通常我不知道想要的缓冲区号。我通常也不知道使用缓冲区的名称,因为它需要缓冲区的完整路径。问题还在于希望自动补全,:vert sb 后跟会为您自动完成缓冲区,不幸的是,它不适用于:vsp。

–icc97
20/09/21在3:30



如果我键入缓冲区的名称(而不必键入完整路径),则使用自动补全确实对我有用。我是否会因为我的其他设置而忽略了。

– alexhg
20/09/22在7:15