Remap ⌘S для сохранения файла в VIM
Я недавно переключился с использования MacVim на использование Vim в командной строке. Мне не хватает одной возможности - сохранить файл с помощью ⌘S, а не возвращаться в обычный режим, а затем:wq
Я использую Vim внутри iTerm2. Есть ли способ заставить wayS сохранить файл как в режиме вставки, так и в обычном режиме?
4 ответа
Невозможно отобразить на ⌘ в консольной версии Vim. Если вы хотите использовать ⌘ в отображении, вам нужно переключиться обратно на MacVim.
Вы можете использовать iTerm2 для сопоставления Cmd-S
к некоторой другой комбинации, которую распознают оболочка и Vim (например, Ctrl+S
), тогда вы можете просто отобразить эту команду через файл.vimrc, как указал Эндрю.
В итоге:
- отредактируйте ключи iTerm2 с помощью новой записи, которая отображает Cmd-S на
Ctrl+S
, - Добавить команды для отображения
Ctrl+S
в файл vimrc (как описывает Эндрю) или как этот сайт.
Вот еще более простой способ сделать это: использовать "Отправить текст" iTerm2. В основном вы можете отобразить Cmd-S
отправить текст в текущую сессию vim :w\n
,
Ну, я не уверен, что командная строка Vim может зарегистрировать клавишу,, и я не на своем Mac, чтобы подтвердить, но вы можете сопоставить ⌘S в.vimrc следующим образом.
inoremap <D-s> <ESC>:w<CR>i "insertmode
nnoremap <D-s> :w<CR> "normalmode
Опять же, это будет работать только в том случае, если vim командной строки сможет распознать клавишу ⌘.