Предисловие : Это не имеет никакого отношения к Vim как таковому, но я покажу вам, что я считаю «лучшим» способом вставки этих символов на сегодняшний день; Система управления графиком в Vim примерно такая же, но она работает только с Vim. Это будет работать во всех приложениях.
Это будет работать только для систем X11 (Linux, BSD и т. Д.). Для Windows есть AllChars . Он не обновлялся некоторое время, но я могу подтвердить, что он хорошо работает с Windows 7 (использовал его на моей предыдущей работе). Я считаю, что OS X также имеет хорошие возможности для этого, встроенные в ОС; если вы используете OS X, я рекомендую вам проверить их, но так как я никогда не использовал OS X, я не могу указать вам на них.
Ниже приведена (часть) черновая статья в блоге, которую я готовлю. К сожалению, действительно всеобъемлющего руководства не существует (пока), и ниже не описываются все функции, которые оно предлагает (например, некоторые части о мертвых ключах отсутствуют), и его можно было бы лучше написать в некоторых частях, но я думаю, что это все еще "достаточно полезно".
«Составить последовательность» - это нажатие Composeклавиши, а затем одного или нескольких символов, чтобы создать какой-либо символ, которого нет на вашей клавиатуре, например, нажатие Compose, сразу за которым следует "и aможет вызвать ä
.
По умолчанию Composeне привязан ни к одной клавише 1 ; Правая Altклавиша (aka. Alt Gr) часто используется, но вы устанавливаете ее на любую клавишу, которую хотите.
Установите его с помощью xmodmap
Вы можете использовать xmodmap
для установки этого:
$ xmodmap -e 'keysym Alt_R = Multi_key' # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key' # You're free to use *any* key, like F12
Вы, вероятно, хотите добавить это в свой ~/.Xmodmap
файл 2 :
! Set compose key
keysym Alt_R = Multi_key
Установите его с помощью XKB
Вы также можете установить ключ compose в качестве опции для XKB с помощью
setxkbmap
:
setxkbmap -option compose:ralt # Right alt
setxkbmap -option compose:caps # Caps Lock
Чтобы сделать их постоянными, добавьте команду в файл запуска X или, в качестве альтернативы, вы также можете установить ее в /etc/X11/xorg.conf
:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOptions" "compose:ralt"
#Option "XkbOptions" "compose:caps"
EndSection
Или, в более «современном» стиле, вы можете создать файл
/etc/X11/xorg.conf.d/90-compose.conf
:
Section "InputClass"
Identifier "Set compose key"
MatchIsKeyboard "on"
Option "XkbOptions" "compose:ralt"
EndSection
Список возможных значений можно найти в xkeyboard-config(7)
разделе «Положение клавиши Compose» 3 .
Настройка мертвых ключей
Мертвый ключ используется главным образом для добавления акцента или диакритического знака к букве (например, умлаут, могила акцента и т. Д.), Хотя его можно использовать для создания любого символа. Это работает ... TODO
'
keycode 133 = dead_greek NoSymbol SuperR
http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe
<dead_grave> <space> : "`" grave # GRAVE ACCENT
<dead_grave> <dead_grave> : "`" grave # GRAVE ACCENT
<dead_grave> <a> : "À" agrave # LATIN CAPITAL LETTER A WITH GRAVE
Создание файла ~ / .XCompose
По умолчанию файл Compose ~/.XCompose
отсутствует
/usr/share/X11/locale/$LANG/Compose
. Наличие ваших собственных ~/.XCompose
переопределяет значение по умолчанию, но вы все равно можете включить значение по умолчанию с помощью:
include "%L"
Изменения любого файла Compose вступают в силу при перезапуске приложения. Вам не нужно перезапускать X.
Составить ключ
«Составьте последовательность» - нажмите Composeклавишу, а затем один или несколько символов, чтобы получить какой-либо символ, например:
<Multi_key> <quotedbl> <a> : "ä" adiaeresis
Означает, что нажатие Composeсразу следует "и
aвыдает ä
.
<Multi_key>
обозначает, что мы используем Composeключ. затем мы следуем за этим списком из одного или нескольких ключей, которые должны быть keysyms
, которые являются символическими представлениями ключей, используемых X (см. раздел Keysyms).
Затем следует результат :
, за которым следует результат.
Результат:
<Multi_key> <a> : "ä" adiaeresis
<Multi_key> <b> <b> : "ä" adiaeresis
<Multi_key> <c> <c> <c> : "ä" adiaeresis
<Multi_key> Alt <d> : "ä" adiaeresis
<Multi_key> Ctrl <e> : "ä" adiaeresis
Примечание : A Compose файл чувствителен к регистру, поэтому A
это не то же самое , как a
.
Мертвые ключи
СДЕЛАТЬ
Заставь это работать в GTK & Qt
Установите переменные среды GTK_IM_MODULE
& QT_IM_MODULE
в xim
.
Оболочка Борна:
# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
C оболочка:
# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
Смотрите также
мой ~/.XCompose
Это то, ~/.XCompose
что я использую ; Я использовал скрипт для генерации этого, но я случайно переписал это при компиляции> _ <Так что мне нужно переписать его.
Также обратите внимание на эту строку:
<Multi_key> <i> <b> : "NL65AEGO0721647952"
Нажатие Compose ibвставит эту строку (случайный тестовый номер IBAN); очень полезно для тестирования приложений, где такое число требуется для создания какого-либо объекта (Person, Organization); XCompose также может служить инструментом «сниппет» :-)
Сноски
1: У некоторых клавиатур UNIX была выделенная Composeклавиша ( например, это SUN ), но в наши дни это довольно редко.
2: В зависимости от вашей существующей настройки, это может или не может быть прочитано при запуске, в зависимости от вашей конфигурации, добавьте строку xmodmap ~/.Xmodmap
в
~/.xinitrc
или ~/.xsession
;
также смотрите ArchLinux вики .
3: Воспроизводится для вашей выгоды:
Position of Compose key
+------------------------------------------------------+
|Option Description |
+------------------------------------------------------+
|compose:ralt Right Alt |
|compose:lwin Left Win |
|compose:lwin-altgr 3rd level of Left Win |
|compose:rwin Right Win |
|compose:rwin-altgr 3rd level of Right Win |
|compose:menu Menu |
|compose:menu-altgr 3rd level of Menu |
|compose:lctrl Left Ctrl |
|compose:lctrl-altgr 3rd level of Left Ctrl |
|compose:rctrl Right Ctrl |
|compose:rctrl-altgr 3rd level of Right Ctrl |
|compose:caps Caps Lock |
|compose:caps-altgr 3rd level of Caps Lock |
|compose:102 <Less/Greater> |
|compose:102-altgr 3rd level of <Less/Greater> |
|compose:paus Pause |
|compose:prsc PrtSc |
|compose:sclk Scroll Lock |
+------------------------------------------------------+