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 ~/.Xmodmap
arquivo 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 ~/.XCompose
estiver ausente, é
/usr/share/X11/locale/$LANG/Compose
. Ter o seu próprio ~/.XCompose
substitui 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_MODULE
como 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
É ~/.XCompose
isso 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 ~/.Xmodmap
a
~/.xinitrc
ou ~/.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 |
+------------------------------------------------------+