Prefazione : questo non ha nulla a che fare con Vim in quanto tale, ma ti mostrerò quello che considero il modo "migliore" per inserire questi personaggi di gran lunga; Il sistema digraph di Vim è più o meno lo stesso, ma funziona solo con Vim. Questo funzionerà in tutte le applicazioni.
Funzionerà solo con sistemi X11 (Linux, BSD, ecc.). Per Windows, c'è AllChars . Non è stato aggiornato da un po ', ma posso confermare che funziona bene con Windows 7 (utilizzato nel mio lavoro precedente). Credo che OS X abbia anche buone strutture per farlo, integrate nel sistema operativo; se usi OS X, ti incoraggio a provarli, ma dato che non ho mai usato OS X, non posso indicarti.
Di seguito è (parte di) una bozza di articolo sul blog che ho in cantiere. Sfortunatamente non esiste (ancora) una guida veramente completa, e il seguito non descrive tutte le funzionalità che offre (ad esempio mancano alcune parti sulle chiavi morte) e potrebbe essere meglio scritto in alcune parti, ma penso che sia ancora "abbastanza utile".
Una "sequenza di composizione" sta premendo il Composetasto e quindi uno o più caratteri per produrre un carattere non trovato sulla tastiera, ad esempio premendo Compose, immediatamente seguito da "e apotrebbe produrre un ä
.
Per impostazione predefinita, Composenon è associato a nessuna chiave 1 ; viene usato spesso il Alttasto destro (aka. Alt Gr), ma lo si imposta su qualsiasi tasto desiderato.
Impostalo usando xmodmap
È possibile utilizzare xmodmap
per impostare questo:
$ 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
Probabilmente vuoi aggiungere questo al tuo ~/.Xmodmap
file 2 :
! Set compose key
keysym Alt_R = Multi_key
Impostalo usando XKB
Puoi anche impostare la chiave di composizione come opzione su XKB con
setxkbmap
:
setxkbmap -option compose:ralt # Right alt
setxkbmap -option compose:caps # Caps Lock
Per renderli permanenti, aggiungi il comando al tuo file di avvio X o, in alternativa, puoi anche impostarlo in /etc/X11/xorg.conf
:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOptions" "compose:ralt"
#Option "XkbOptions" "compose:caps"
EndSection
Oppure, in uno stile più "moderno", puoi creare un file
/etc/X11/xorg.conf.d/90-compose.conf
:
Section "InputClass"
Identifier "Set compose key"
MatchIsKeyboard "on"
Option "XkbOptions" "compose:ralt"
EndSection
Un elenco di possibili valori è disponibile nella xkeyboard-config(7)
sezione "Posizione della chiave di composizione" 3 .
Impostazione chiavi morte
Una chiave morta viene utilizzata principalmente per aggiungere un accento o un segno diacritico a una lettera (come la tomba, accento grave, ecc.), Sebbene possa essere usata per creare qualsiasi personaggio. Funziona da ... 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
Creazione di un file ~ / .XCompose
Il file Compose predefinito se ~/.XCompose
manca è
/usr/share/X11/locale/$LANG/Compose
. Il tuo ha ~/.XCompose
la precedenza su quello predefinito, ma puoi comunque includere quello predefinito con:
include "%L"
Le modifiche a qualsiasi file Compose hanno effetto al riavvio di un'applicazione. Non è necessario riavviare X.
Chiave di composizione
Una "sequenza di composizione" sta premendo il Composetasto e quindi uno o più caratteri per produrre un carattere, ad esempio:
<Multi_key> <quotedbl> <a> : "ä" adiaeresis
Significa che premendo Compose, immediatamente seguito da "e
aproduce un ä
.
<Multi_key>
indica che stiamo usando la Composechiave. seguiamo quindi questo da un elenco di uno o più tasti, questi devono essere keysyms
, che sono rappresentazioni simboliche dei tasti usati da X (Vedi la sezione Chiavi).
Seguito da a :
, seguito dal risultato.
Il risultato:
<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 : un file di composizione è sensibile al maiuscolo / minuscolo, quindi nonA
è lo stesso di .a
Chiavi morte
FARE
Fallo funzionare in GTK e Qt
Impostare le variabili di ambiente GTK_IM_MODULE
e QT_IM_MODULE
su xim
.
Conchiglia Bourne:
# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
Shell C:
# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
Guarda anche
Mio ~/.XCompose
Questo è quello ~/.XCompose
che uso ; Ho usato uno script per generarlo, ma l'ho sovrascritto per errore durante la compilazione> _ <Quindi ho bisogno di riscriverlo.
Prendi nota anche di questa linea:
<Multi_key> <i> <b> : "NL65AEGO0721647952"
Premendo Compose ibsi inserirà questa stringa (un numero IBAN di test casuale); molto utile per testare applicazioni in cui un tale numero è richiesto per creare un oggetto (Persona, Organizzazione); XCompose può anche fungere da strumento "snippet" :-)
Le note
1: Alcune tastiere UNIX avevano un Composetasto dedicato ( come questo SUN ), ma al giorno d'oggi è abbastanza raro.
2: A seconda della configurazione esistente, questo può o non può essere letto all'avvio, a seconda della configurazione, aggiungere la riga xmodmap ~/.Xmodmap
a
~/.xinitrc
o ~/.xsession
;
vedi anche il wiki di ArchLinux .
3: riprodotto a tuo vantaggio:
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 |
+------------------------------------------------------+