Ответ 1
Как @RusAlex Мне не нравятся плагины. Мне также нравится знать, какой код я ввожу на самом деле.
nmap ,d :b#<bar>bd#<CR>
Вкратце добавляет сопоставление клавиш в обычный режим vim, ожидая последовательности клавиш ,d
. Когда это выполняется, он переключается на ранее открытый буфер и пытается удалить буфер, из которого вы переключились.
Удаление нестандартного буфера позволяет разделить экран так, как есть.
Команда состоит из трех разделенных пробелом частей:
-
nmap
- добавить/изменить отображение клавиш для режима normal -
,d
- последовательность клавиш для реагирования; сначала,
(запятая), затемd
-
:b#<bar>bd#<CR>
- последовательность клавиш для выполнения
Выполняемая команда состоит из пяти частей:
-
:
- переключить vim в режим командной строки -
b#
- окно переключения для ранее открытого буфера -
<bar>
- ожидайте последующую команду; представляет|
(символ трубы); используется для цепочки команд -
bd#
- удалить ранее открытый буфер, т.е. буфер, только что отключенный от -
<CR>
- выполнить команды; представляет возврат каретки, в основном клавишиReturn
илиEnter
Команда находится в формате, который используется в файле конфигурации, например ~/.vimrc
. Если вы хотите добавить отображение изнутри vim, вы добавите :
(двоеточие) - отображение будет потеряно при выходе из vim:
:nmap ,d :b#<bar>bd#<CR>
Когда вы открываете vim, обычно он находится в нормальном режиме, в отличие от вставки режимов (обозначается в нижней части экрана -- INSERT --
после нажатия i
), визуального и т.д. n
в nmap
указывает сопоставление клавиш, которое должно быть добавлено только в обычный режим. Подробнее о сопоставлениях здесь
Важные замечания:
-
b#
переключится на текущий буфер, если он является единственным известным буфером. -
b#
может переключиться на скрытый/закрытый буфер, например. тот, который вы только что закрыли, нажав,d
. -
bd#
закроет текущий буфер, если он является единственным известным буфером, который отключает экран, оставляя вас с пустым буфером. -
bd#
выйдет из строя, если буфер, отключаемый от него, является скрытым/закрытым буфером. -
bd#
будет по-прежнему нерасщепляться, если после переключения в другое окно будет закрыт буфер.
Дополнительные примечания:
-
:windo b#
переключит все окна на ранее открытый буфер. Не знаете, как объединиться сbd
. -
<CR>
может быть опущен, и в этом случае вам нужно вручную нажатьReturn
илиEnter
для выполнения. -
:nmap ,
отображает все отображения нормального режима, начиная с,
. -
:ls
отображает открытые буферы.