26

如果在命令提示符下,我运行

vimdiff file1 file2

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

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

这很好,但有时我想打开第三个文件来查看。我不想创建另一个垂直拆分,因为否则这些行会很短,我会一直水平滚动来阅读它们。但是在屏幕底部占据几行不会有什么坏处。那么,我怎样才能从上面转到以下内容:

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

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

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

在此先感谢您的帮助!

4

3 回答 3

11

采用

:botright split 

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

于 2009-05-13T18:02:23.717 回答
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

于 2009-05-13T18:31:18.523 回答
3

如果您已经:sp file3像上一个示例中那样打开了,^WJ则会将现有窗口移动到您想要的位置。

于 2009-05-13T18:14:05.883 回答