К сожалению, это не будет возможно с помощью клавиши 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 я оставил нетронутым.
У меня есть похожие записи для других кодов клавиш, соответствующих ключам других кодеров. Иногда я думаю, что мне следует переучить макет в США или Великобритании только для взлома. Я бы пропустил модные ключи в письмах, хотя.