К сожалению, это не будет возможно с помощью клавиши Alt +. Вы видите, что ввод Alt + key в командном окне - это то же самое, что нажатие клавиши Escape с последующим нажатием клавиши.
Тем не менее, у меня есть своего рода решение для вас, но оно требует некоторого труда и предполагает, что вы используете X. Ваш screen / vim в эмуляторе терминала все равно будет работать с этим.
Я использую испанскую клавиатуру, и []{}
символы находятся на клавишах справа от моего мизинца на правой руке, но также требуют нажатия клавиши AltGr . Это значит, что я слишком сильно сжал мою правую руку. Я изменил это с помощью xmodmap .
Если вы добавите файл с именем .Xmodmap в свой домашний каталог, то он будет получен при каждом входе в X. В качестве альтернативы вы можете выполнить его в любое время, используя xmmodmap ~/.Xmodmap
.
Вот пример того, как это настроить. Правый символ фигурной скобки }
находится на клавише с ç
моей клавиатурой, но я должен нажать AltGr вместе с ключом, чтобы получить правильную фигурную скобку. Чтобы увидеть, какой код ключа сопоставлен с этим, я использую xmodmap -pk
:
$ xmodmap -pk | grep brace 51 0x00e7 (ccedilla) 0x00c7 (Ccedilla) 0x00e7 (ccedilla) \ 0x00c7 (Ccedilla) 0x007d (braceright) 0xfe55 (dead_breve) # split to prevent scroll, this is all on one line
Это означает, что код ключа 51 отображается на эти ключи с различными модификаторами. Вот что man xmodmap
должен сказать:
keycode NUMBER = KEYSYMNAME ... The list of keysyms is assigned to the indicated keycode (which may be specified in decimal, hex or octal and can be determined by running the xev program). Up to eight keysyms may be attached to a key, however the last four are not used in any major X server implementation. The first keysym is used when no modifier key is pressed in conjunction with this key, the second with Shift, the third when the Mode_switch key is used with this key and the fourth when both the Mode_switch and Shift keys are used.
Итак, у нас есть:
- без модификатора = ccedilla ç
- сдвиг = Ccedilla Ç
- Mode_switch = ccedilla
- Mode_switch и shift = Ccedilla
- AltGr = braceright}
Экспериментируя, кажется, что пятая запись на самом деле, когда AltGr и клавиша нажата. Так много для документации, а? Я понятия не имею, что такое клавиша Mode_switch, это, конечно, не Alt, Shift или Ctrl.
Я хотел изменить этот самый бесполезный из ключей, чтобы иметь }
по умолчанию. Запись в моем .Xmodmap выглядит следующим образом:
keycode 51 = braceright Ccedilla ccedilla Ccedilla braceright dead_breve
Я никогда не пишу ccedillas (кроме как в этом посте, и здесь я написал это, набрав Ç, затем использую guw
в Vim, чтобы сделать его строчным!), Поэтому я не скучаю по ним. Другие ключи, такие как ключ ]
на нем, были хитрее. Этот ключ *+]
написал на нем. Я переместил плюс на другую клавишу (удалив дублирующийся вверх ногами восклицательный знак ¡
), выплюнул] по умолчанию и *
со смещением. Поведение AltGr я оставил нетронутым.
У меня есть похожие записи для других кодов клавиш, соответствующих ключам других кодеров. Иногда я думаю, что мне следует переучить макет в США или Великобритании только для взлома. Я бы пропустил модные ключи в письмах, хотя.