Чувствительные к регистру сочетания клавиш - PullRequest
5 голосов
/ 19 сентября 2010

Мне нужна карта / remap / nmap / и т. Д. команды должны быть чувствительны к регистру, например "" против "".

Я проверил Google и: help map, но не смог найти это.

Ответы [ 3 ]

6 голосов
/ 19 сентября 2010

Похоже, что в настоящее время вы не можете сочетать управление с чувствительностью к регистру в vim или gvim (я использую 7.2). Я мог бы ожидать, что это будет ограничением терминалов для первого, но не второго.

Я проверил это, набрав это в буфере:

карта : эхо "c-i"
карта : эхо "c-s-i"

Восстановите эти строки, затем: @ "(когда выполняется регистрация" в качестве команд). При проверке карт с помощью: map и выявляется проблема: имеет значение , и вступает в силу только последняя, ​​при этом смещение игнорируется.

Для alt, и работают как положено в gvim

В терминале vim эти два сопоставляются с é и É (по крайней мере, здесь, проверьте с помощью ": map ", как указано выше), и прямой ввод é / É (я использую мертвые ключи) действительно вызывает отображение. На самом деле выполнение a-i или a-s-i просто входит в режим вставки.

Конечно, неконтролируемые и не альтернативные карты работают с учетом регистра.

5 голосов
/ 19 сентября 2010

Добавить S для Shift

<C-S-i>

Если вы используете Caps Lock , (1) что на земле?? И (2) вы будетеЕсть проблемы.См. здесь , если это ваша ситуация.

Мое плохое.

Не может быть сделано, по замыслу, с печатными символами.Приведенный выше подход работает с F1 и др. , например <C-S-F8>.См. эту тему для получения дополнительной информации.

Мой обходной путь - сопоставить его с чем-то совершенно иным и непонятным, и использовать AutoHotkey или аналогичный метод, чтобы заменить комбинацию только для варианта в верхнем регистре.

2 голосов
/ 11 июля 2018

В документах говорится, что «CTRL-A и CTRL-a эквивалентны».

Соответствующая часть из :help notation

CTRL-{char}   {char} typed as a control character; that is, typing {char}
              while holding the CTRL key down.  The case of {char} does not
              matter; thus CTRL-A and CTRL-a are equivalent.  But on some
              terminals, using the SHIFT key will produce another code,
              don't use it then.

(не предназначенная для ответа, но для соответствующей информациидля любого, кто приходит из поисковой системы в отношении чувствительности к регистру)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...