Prefácio : Isso não tem nada a ver com o Vim, mas mostrarei o que considero ser a "melhor" maneira de inserir esses caracteres de longe; O sistema de digrafos do Vim é mais ou menos o mesmo, mas só funciona com o Vim. Isso funcionará em todos os aplicativos.
Isso funcionará apenas para sistemas X11 (Linux, BSD etc.). Para Windows, há AllChars . Não foi atualizado há algum tempo, mas posso confirmar que funciona bem com o Windows 7 (usei no meu trabalho anterior). Acredito que o OS X também tenha boas instalações para fazer isso embutido no SO; se você usa o OS X, incentivo você a vê-los, mas como nunca usei o OS XI, não posso apontar para eles.
O abaixo é (parte de) um artigo preliminar do blog que eu tenho no pipeline. Infelizmente, ainda não existe um guia realmente abrangente, e o abaixo não descreve todos os recursos que ele oferece (por exemplo, faltam algumas partes sobre chaves mortas) e poderia ser melhor escrito em algumas partes, mas acho que é ainda "útil o suficiente".
Uma 'sequência de composição' está pressionando a Composetecla e, em seguida, um ou mais caracteres para produzir algum caractere não encontrado no teclado, por exemplo, pressionando Compose, seguido imediatamente por "e apode produzir um ä.
Por padrão, Composenão está vinculado a nenhuma chave 1 ; a Alttecla direita (também conhecida como Alt Gr) é frequentemente usada, mas você a define como qualquer chave que desejar.
Defina-o usando xmodmap
Você pode usar xmodmap
para definir isso:
$ 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
Você provavelmente deseja adicionar isso ao seu ~/.Xmodmaparquivo 2 :
! Set compose key
keysym Alt_R = Multi_key
Defina usando XKB
Você também pode definir a chave de composição como uma opção para XKB com
setxkbmap:
setxkbmap -option compose:ralt # Right alt
setxkbmap -option compose:caps # Caps Lock
Para torná-los permanentes, adicione o comando ao seu arquivo de inicialização do X ou, como alternativa, você também pode configurá-lo em /etc/X11/xorg.conf:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOptions" "compose:ralt"
#Option "XkbOptions" "compose:caps"
EndSection
Ou, em um estilo mais 'moderno', você pode criar um arquivo
/etc/X11/xorg.conf.d/90-compose.conf:
Section "InputClass"
Identifier "Set compose key"
MatchIsKeyboard "on"
Option "XkbOptions" "compose:ralt"
EndSection
Uma lista de valores possíveis pode ser encontrada na xkeyboard-config(7)seção 'Posição da tecla de composição' 3 .
Configurando chaves mortas
Uma chave morta é usada principalmente para adicionar um sotaque ou diacrítico a uma letra (como trema, túmulo de sotaque etc.), embora possa ser usada para criar qualquer personagem. Funciona por ... 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
Criando um arquivo ~ / .XCompose
O arquivo de composição padrão, se ~/.XComposeestiver ausente, é
/usr/share/X11/locale/$LANG/Compose. Ter o seu próprio ~/.XComposesubstitui o padrão, mas você ainda pode incluir o padrão com:
include "%L"
As alterações em qualquer arquivo de composição entram em vigor quando você reinicia um aplicativo. Você não precisa reiniciar o X.
Tecla de composição
Uma 'sequência de composição' está pressionando a Composetecla e, em seguida, um ou mais caracteres para produzir algum caractere, por exemplo:
<Multi_key> <quotedbl> <a> : "ä" adiaeresis
Significa que pressionar Compose, imediatamente seguido por "e
aproduz um ä.
<Multi_key>indica que estamos usando a Composechave. seguimos isso por uma lista de uma ou mais chaves, que precisam ser keysyms, que são representações simbólicas das chaves usadas por X (consulte a seção Academias de chaves).
Seguido por a :, seguido pelo resultado.
O resultado:
<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
Nota : Um arquivo de composição diferencia maiúsculas de minúsculas; portanto, nãoA é o mesmo que .a
Chaves mortas
FAÇAM
Faça funcionar em GTK & Qt
Defina as variáveis de ambiente GTK_IM_MODULE& QT_IM_MODULEcomo xim.
Casca Bourne:
# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
C shell:
# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
Veja também
Minhas ~/.XCompose
É ~/.XComposeisso que eu uso ; Eu usei um script para gerar isso, mas acidentalmente o substituí ao compilá-lo> _ <Então, preciso reescrevê-lo.
Observe também esta linha:
<Multi_key> <i> <b> : "NL65AEGO0721647952"
Pressionar Compose ibirá inserir esta sequência (um número IBAN de teste aleatório); muito útil para testar aplicativos em que esse número é necessário para criar algum objeto (Pessoa, Organização); O XCompose também pode servir como uma ferramenta "snippet" :-)
Notas de rodapé
1: Alguns teclados UNIX tinham uma Composetecla dedicada ( como este SUN ), mas isso é bastante incomum atualmente.
2: Dependendo da configuração existente, isso pode ou não ser lido na inicialização; dependendo da sua configuração, adicione a linha xmodmap ~/.Xmodmapa
~/.xinitrcou ~/.xsession;
veja também o wiki do ArchLinux .
3: Reproduzido para seu benefício:
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 |
+------------------------------------------------------+