8

В Emacs я могу нажать Ctrl-h, k, чтобы описать ключ. Я могу получить имя ключа, даже если оно не определено, например,

C-x <C-M-end> is undefined

Таким образом, я узнал, что имя ключа C-x <C-M-end> .

Но как вы можете получить ключевое имя для Vim?

Я хочу настроить раскладку клавиш для Ctrl-Shift-V и Shift-Insert, но какой код мне нужно использовать?

Можно ли получить имя ключа на лету?

3 ответа3

3

Чтобы узнать, какая клавиша или комбинация клавиш выводятся в Vim, я обычно открываю пустой буфер с помощью « :enew », захожу в режим вставки, нажимаю control-v, затем клавишу или комбинацию клавиш, которую я хочу идентифицировать. Этот прием control-v также может работать в строке:-command, поэтому определение отображений для тестирования довольно просто. Например, " :map ", control-v и комбинация клавиш " :echo 'it works' ".

1

Ближайшая к describe-key (Ctrl+H, K), которую я могу найти, - это команда :map . Это перечислит все сопоставления.

Вы также можете запустить :map <key name> , но вы должны указать <key> используя специальный синтаксис, указанный в
ключевая запись

Или вы можете попробовать :map Ctrl+V <key> , которая позволит вам просто нажать клавишу, а не использовать специальный синтаксис.

Чтобы связать Ctrl+Shift+V, попробуйте это:

:map <C-S-v> whatever

или же

:map Ctrl+V Ctrl+Shift+V, whatever

Но убедитесь, что ваша терминальная программа еще не использует это для чего-то особенного, такого как вставка, иначе Vim никогда не увидит нажатие клавиши.

Также см. Map-alt-keys, который помогает объяснить, должен ли ваш Alt- ключ записываться как <M-x> или <A-x> .

0

Просто нажмите Ctrl+V на лету и клавиши, которые вы хотите нажать. Если вы не нашли ожидаемый результат (например, <c-space> , <c-cr> , <M-i> , ...), это просто означает, что вы используете vim, а не gvim. То, как vim понимает введенные ключи, связано с конфигурацией вашего терминала (ов). gvim использует свои собственные определения, поэтому настраивать нечего.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .