Я использую Vim в основном для быстрого редактирования, а не для длительных рабочих сессий. В этом смысле я нахожу последовательность клавиш для выхода особенно трудоемкой: Esc, Shift+ ;, w, q, Enter.
Как выйти из Vim (возможно, сохранив документ) с наименьшим количеством нажатий клавиш? Особенно из режима вставки.
решение1
Shiftzzв командном режиме сохраняет файл и выходит.
решение2
ZZ
в обычном режиме сохраняет текущий файл, если он был изменен, и выходит или закрывает текущее окно/вкладку (то же самое, :x
но не то :wq
, что записывает файл, даже если он не был изменен).
Для безусловного выхода после записи всех измененных файлов во все окна, вкладки и скрытые буферы вам необходимо :xa
(выход все равно не произойдет, если некоторые файлы не могут быть записаны по той или иной причине)
Выйти безоговорочно, ничего не меняя: ZQ
(то же самое, что и :q!
).
решение3
:xна один ключ меньше, чем:wq
решение4
Создайте пользовательское сопоставление для часто используемых задач. Если вы часто выходите из vim, создайте сопоставление с несколькими нажатиями клавиш, например
nnoremap <leader><leader> :xa<cr>
Если <leader>
установлено значение запятая, то let mapleader = ","
нажатие запятой дважды — это быстрый способ выйти из vim и сохранить изменения. Если вы хотите сохранить еще одно нажатие клавиши, когда находитесь в режиме вставки, также создайте соответствующее сопоставление режима вставки:
inoremap <leader><leader> <esc>:xa<cr>
Но будьте осторожны, это может случайно оказаться слишком резким, когда вы нажмете <leader
дважды.