如何在vimdiff创建的分割下面打开一个新窗口?

时间:2009-05-13 17:47:24

标签: vim split text-editor vimdiff

如果在命令提示符下运行

vimdiff file1 file2

我得到一个vim实例,它有两个并排打开的文件,如下所示:

╔═══════╤═══════╗
║       │       ║
║       │       ║
║ file1 │ file2 ║
║       │       ║
║       │       ║
╚═══════╧═══════╝

这非常好,但有时我想打开第三个文件来查看。我不想创建另一个垂直分割,因为否则行会很短,我会一直水平滚动只是为了阅读它们。但是在屏幕底部占据几行不会受到伤害。那么,我怎样才能从上面做到以下几点:

╔═══════╤═══════╗
║       │       ║
║ file1 │ file2 ║
║       │       ║
╟───────┴───────╢
║     file3     ║
╚═══════════════╝

我尝试过使用:sp file3,但我最终得到了这个(假设我在光标位于file1时运行了命令):

╔═══════╤═══════╗
║ file3 │       ║
║       │       ║
╟───────┤ file2 ║
║ file1 │       ║
║       │       ║
╚═══════╧═══════╝

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:11)

使用

:botright split 

并在里面打开一个新文件。

答案 1 :(得分:4)

要扩展@ fgm的答案,如果输入此命令,则可以自动完成 您要编辑的文件名,例如普通:edit

:bot split +edit thirdfile.cpp

但是为了避免必须输入所有内容,您可以创建“用户定义的命令” 像这样:

:command -complete=file -nargs=* Third bot split +edit <args>

现在您只需键入:Third即可在底部创建第三个窗口 屏幕上包含您要编辑的文件,例如:

:Third mythirdfile.cpp

请注意,您可以像使用普通:edit一样自动完成。

当然,如果您可以将命令的名称更改为其他名称 不喜欢:Third,请记住它必须以大写字母开头。

有关详细信息,请输入:help user-commands:help 40.2

答案 2 :(得分:3)

如果您已经按照上一个示例中的:sp file3进行了展开^WJ,则会将现有窗口移动到您希望的位置。