Современные экраны стали большими. По этой причине представляется разумным делить их на рабочие области для одновременного просмотра сразу нескольких файлов или разных частей одного файла.
Большинство редакторов допускают возможность разделения экрана на отдельные рабочие пространства. В Vim они называются окнами (англ. windows).
Разделение окон
В Vim новое окно открывается командой :split
(или CTRL-W s
). Она делит экран на два горизонтальных окна, отображающих один и тот же файл. Для вертикального разделения используется команда :vsplit
или CTRL-W v
.
CTRL-W w
позволяет перемещаться по всем открытым окнам и переключаться между ними.
Обратите внимание, что в Vim все команды по управлению окнами имеют форму CTRL-W {char}
: вы сначала нажимаете CTRL-W
, а затем другой символ. CTRL-W CTRL-{char}
делает то же самое, но в этом случае вы отпускаете клавишу CTRL
немного позже.
Команда :close
(или CTRL-W c
) закрывает окно.
Команда :only
(или CTRL-W o
) закрывает все окна, кроме текущего.
Вкладки и окна
Все счастливые редакторы похожи друг на друга. Каждый несчастливый редактор несчастлив по-своему.
Современные редакторы, такие как Sublime Text, Atom, VSCode, JetBrains и другие, позволяют делить экран на несколько панелей, внутри которых располагаются вкладки.
Vim практикует противоположный способ организации рабочего пространства. Он предлагает вкладки, которые содержат разделенные панели (они же окна):
Честно говоря, разница существует только в дизайне. Речь не идет о правильном или неправильном способе проектирования макета редактора. У каждого из вариантов есть свои преимущества и недостатки.
Vim только визуально не имеет вкладок в каждой панели (окне): вы все равно можете распределять файлы (буферы) по окнам для отображения.
В этом плане Vim предоставляет больше свободы, поскольку файл не принадлежит определенной панели. Они абсолютно независимы. Любое окно может отображать любой буфер.
Следующая графическая схема более адекватно отображает два разных подхода:
Таким образом, не следует рассматривать систему вкладок Vim как альтернативный или противоположный способ разделения экрана. Она расширяет возможности обычных рабочих процессов с панелями и файлами, поскольку вы обзаводитесь разными вкладками с разными макетами (схемами расположения окон) для разных контекстов.
Если вообще не задействовать вкладки, то рабочие процессы в Vim практически ничем не будут отличаться от других редакторов: вы просто используете окна, а также предпочитаемый способ создания и переключения между буферами (с помощью режима командной строки или плагинов, таких как telescope, bufferlines, nvim-tree и им подобных).
Итоговый макет Vim во всей полноте
На самом деле можно отобразить и вкладки, и окна, и буферы в одном макете.
Приготовьтесь увидеть всю настоящую мощь Vim!
Смотрите и восхищайтесь:
Заключение
Если ты добрался до этого момента, то ты избранный, предназначенный принести равновесие в мир Вимосферы. Вознесись и обрети новое знание, которое станет ключом к восстановлению гармонии на этой земле. Устоять перед привлекательностью VSCode и тёмными силами, которые стремятся отвлечь от твоего пути.
Майкрософт и все тёмные повелители программной инженерии содрогнутся при звуке твоего имени, если ты сумеешь избежать их телеметрии отчаяния, которая придаёт силу их бездушным машинам смерти.
Удачи тебе. Пусть Вимскрипт будет с тобой.
Читайте также:
- Преодолейте ваши страхи перед Vim
- Стоит ли разработчику изучать VIM в 2020 году?
- Пишем быстрее в любой IDE
Читайте нас в Telegram, VK и Дзен
Перевод статьи Sebastian Carlos: Splitting Windows on Vim