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,

Отправить текст: <code>: w \ n </ code: w \ n

Ну, я не уверен, что командная строка Vim может зарегистрировать клавишу,, и я не на своем Mac, чтобы подтвердить, но вы можете сопоставить ⌘S в.vimrc следующим образом.

inoremap <D-s> <ESC>:w<CR>i  "insertmode
nnoremap <D-s> :w<CR>        "normalmode

Опять же, это будет работать только в том случае, если vim командной строки сможет распознать клавишу ⌘.

Другие вопросы по тегам