Как создавать несколько разделенных окон и управлять ими в Vim
Узнайте, как работать с несколькими файлами одновременно, создавая разделенные окна в Vim.
Хотя Vim имеет репутацию простого редактора для Linux, он имеет множество дополнительных функций. Одним из них является возможность работы с несколькими окнами. Как делиться окнами в Vim и управлять ими.
Открытие новых окон в Vim
Открыть новое окно в Vim очень просто. Если вы уже работаете с файлом, вы можете поделиться существующим окном. Это позволяет просматривать другую область файла. Для этого вам нужно знать основы использования Vim.
Сначала переключитесь в командный режим, нажав клавишу Escape. Затем введите эту команду, чтобы разделить окно:
:split
Вы также можете разделить окно по вертикали, набрав:
:vsplit
Результат будет аналогичен экрану GNU или сеансу Tmux, за исключением того, что вы не сможете отключить его, чтобы он продолжал работать.
Чтобы открыть несколько файлов при запуске Vim, вы можете использовать параметр -o, за которым следуют имена файлов, которые вы хотите отредактировать:
vim -o file1 file2 file3
Опция -O (заглавная O) разделит экран по вертикали.
Вы также можете запустить Vim только со списком файлов и использовать команду :all, чтобы открыть Windows для всех из них. Чтобы открыть вертикальные окна, используйте эту команду:
:vertical all
Прокручивающиеся окна в Vim
Теперь у вас будет два разных окна с документами, которые вы сможете прокручивать независимо друг от друга. Чтобы прокрутить окно вперед, используйте Ctrl + F, а чтобы прокрутить окно назад, нажмите Ctrl + B. Вы также можете переключиться на просмотр окон рядом с помощью Ctrl + v.
Вы можете делиться окнами неограниченное время. Вы также можете создать совершенно новое окно с новым файлом с помощью Ctrl + N. Ctrl + N с заглавной буквой N создаст новое вертикально разделенное окно.
Вы также можете разделить окно нового файла с помощью команды :new.
Переключение между разделенными окнами в Vim
Переключаться между окнами Vim также легко. Используйте префикс Ctrl + W плюс направление окна, в которое вы хотите переместиться. Клавиши навигации аналогичны существующим клавишам навигации Vim.
Например, для перемещения вниз нажмите Ctrl+W+j, а для перемещения вверх нажмите Ctrl+W+k, для перемещения в окно слева нажмите Ctrl+W+h, а для перемещения вправо нажмите Ctrl+W+л.
Чтобы перейти в верхнее окно, используйте Ctrl + W + t, а для нижнего окна введите Ctrl + W + b.
Вы можете переключать позиции окна с помощью клавиш Ctrl + K и Ctrl + J. Это прописные буквы, потому что команды Vim чувствительны к регистру. Первый переместит текущее окно наверх, а второй переместит его вниз. Ctrl + H и Ctrl + J сделают то же самое, чтобы разделить окна по вертикали.
Открытие окон терминала в Vim
Если вы хотите запустить команды оболочки или даже весь сеанс терминала, вам не нужно выходить из Vim. Вы можете запускать команды прямо в редакторе.
Чтобы запустить команду, просто введите двоеточие (:), как и любую другую команду Vim, восклицательный знак (!) и саму команду. Например, чтобы запустить команду ls в Vim:
:!ls
Это отобразит новый экран с выводом команды и предложит вам нажать Enter, чтобы вернуться в Vim.
Вы также можете запустить полный сеанс терминала с помощью команды :terminal. Это разделит окно и запустит сеанс терминала в Vim. Вы можете выполнять несколько команд и запускать полноэкранные текстовые программы, такие как команда man. Вы даже можете начать новый сеанс Vim, если хотите.
Изменение размера разделенных окон в Vim
Изменить размер окон Vim очень просто. Клавиши Ctrl+W+Plus и Ctrl+W+Minus увеличивают и уменьшают размер текущего окна на одну строку.
Вы также можете указать размер окна заранее, добавив к команде :split количество строк, которое вы хотите иметь в окне. Например, чтобы открыть окно высотой в три строки, используйте эту команду:
:3split
Закрытие разделенных окон в Vim
Когда вы закончите с окном, вы можете закрыть его с помощью команды :q. Если у вас есть несохраненные изменения в окне и вы все равно хотите его закрыть, добавьте восклицательный знак:
:q!
Чтобы закрыть все остальные окна, кроме того, над которым вы работаете, используйте команду :only. Опять же, вы можете добавить восклицательный знак, чтобы закрыть все несохраненные окна.
Чтобы закрыть все окна и полностью выйти из Vim, используйте :qall. Чтобы сделать это без сохранения, используйте :qall!.
Чтобы сохранить каждое окно, используйте :wall.
Вы также можете комбинировать операции сохранения и выхода:
:wqall
Vim позволяет редактировать несколько файлов одновременно
С Vim вы можете легко редактировать несколько файлов и даже запускать команды терминала, разделяя окна и перемещаясь между ними. Из классических текстовых редакторов Unix эта функция больше всего ассоциировалась с GNU Emacs.
Хотя многооконный режим долгое время был частью Vim, вы также можете добавлять функции в Vim из других текстовых редакторов.