2011-01-18 2 views
15

Почему я не могу отобразить любой из * Карта команд (Nmap, IMAP и т.д.) в Ctrl через Ctrl ключевых штрихов? На самом деле, похоже, что некоторые из них, например Ctrl , привязаны к ^[ на уровне X-Window. Как изменить vim на эти привязки по умолчанию?vim: сопоставление ctrl-0 с ctrl-9?

то есть, если я imap <C-3> fancystuffhere, набрав Ctrl в режиме вставки ставит меня в нормальный режим, вместо того, чтобы вставить «fancystuffhere».

Я нахожусь на linux/X11.

ответ

20

Поскольку оба ВИМ и Gvim очередь использование байт вместо очереди событий нажатия клавиши, поэтому в то время как значения от 0x40 (@) в 0x5F (_) (в том числе 0x41-0x5A (AZ) диапазона) имеют соответствующие управляющие символы (вы можете получить их коды путем вычитания 0x40 из их значения), никакие символы выше и выше этого диапазона не могут использоваться вместе с C-. Это также причина, почему C-S- для буквенно-цифровых клавиш не работает даже в gvim (функциональные клавиши генерируют более одного байта, поэтому <C-S-F1> может работать). Замена <C-3> с <ESC> осуществляется терминалом, вы можете составить его в практически любой графический интерфейс приложения и видеть, что <Esc> не получает карту ..

+0

Я не могу заставить эти привязки работать в OS X El Capitan. Должны ли они работать в окружающей среде? Я продлил эту тему здесь http://apple.stackexchange.com/q/235623/15504 –

+1

@ Masi Не мой ответ, ясно заявляющий, что они не работают * по дизайну *? В Neovim вы можете сопоставить их (хотя это не заставит их фактически работать, вам нужно сообщить эмулятору терминала о выходе конкретных управляющих последовательностей), но в Vim он никогда не работает. – ZyX

+0

Я расширил тему о Gvim со стереозвуком в OS X здесь http://vi.stackexchange.com/q/7452/2923 Какой эмулятор терминала наиболее подходит для конкретных escape-последовательностей? Будет ли управляться OS X по умолчанию? –

2

То, как я выполняю это на окнах использовать AutoHotkey и переназначить CTRL + , CTRL + и т.д., чтобы CTRL +F1, CTRL +F2 и т.д.

Я знаю, что вы на Linux, поэтому не применимо к вам, но я думал, что упомянул об этом для кого-либо еще.

Смежные вопросы