Подтвердить что ты не робот

Как открыть новое окно под разделом, созданным vimdiff?

Если в командной строке я запустил

vimdiff file1 file2

Я получаю экземпляр vim, у которого два файла открыты бок о бок, что-то вроде этого:

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

Это очень приятно, но иногда я хочу открыть третий файл для просмотра. Я не хочу создавать еще один вертикальный раскол, потому что в противном случае линии будут такими короткими, что я буду прокручивать по горизонтали все время только для их чтения. Но занятие нескольких строк в нижней части экрана не повредит. Итак, как я могу перейти от приведенного выше к следующему:

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

Я пробовал использовать :sp file3, но я просто закончил с этим (предположим, что я запустил команду, пока курсор был в файле1):

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

Заранее благодарим за помощь!

4b9b3361

Ответ 1

Использование

:botright split 

и откройте новый файл внутри.

Ответ 2

Чтобы расширить ответ на @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

Ответ 3

Если вы уже открыли :sp file3, как в вашем последнем примере, ^WJ переместит существующее окно, в которое вы хотите пойти.