Сопоставление последовательности нажатий клавиш с командами командной строки - PullRequest
5 голосов
/ 05 декабря 2009

Есть ли способ отобразить последовательность нажатий клавиш в командной строке (команда, введенная после : в режиме Ex) в vim?

1 Ответ

7 голосов
/ 05 декабря 2009

Да, и это интуитивно называется: карта

Пример:

:map foo :echo "bar"<CR>

Нет, когда в режиме вставки вы нажимаете клавиши foo vim ответит "bar". Введите :help :map в vim для получения дополнительной информации. Вы можете поместить сопоставления, которые вы хотите загрузить по умолчанию, в свой файл .vimrc.

Вы можете независимо отображать нажатия клавиш для различных режимов, таких как режим вставки (: imap) и визуальный режим (: vmap). Смотрите также справку vim по теме переназначения (: noremap)

Обновление

Если вы хотите использовать псевдоним для командного режима (но это можно сделать и для режима вставки), вам нужно будет использовать аббревиатуры .

Чтобы определить сокращение для командного режима, используйте: ca (сокращение от: cabbrev). См. Справку vim :help :ca и дополнительную информацию :help :abbreviations.

Обратите внимание, что в отличие от map, сокращения заменяются не командами vim, а буквальными символами. Сокращения запускаются, когда вы нажимаете пробел или вводите.

Примеры:

" let me type :syn=cpp instead of :set syntax=cpp
"
:ca syn set syntax

" fix my favorite spelling error
"
:abbr teh the

" this does something different than the :map example above
"
:iabb foo :echo "bar"<CR>

" this is ugly, misusing an abbreviation as :map by simulating ESCAPE press
"
:iabb hello <ESC>:echo "world"<CR>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...