2012-02-05 16 views
10

W tej chwili ponownie wiążę prawie wszystkie moje wiązania Emacsa, aby pasowały do ​​mojego nowego układu klawiatury, bépo, francuskiego odpowiednika dvoraka.Mapowanie martwych klawiszy, takich jak "^"

Mam problem z mapowaniem mojego klucza ^. Klucz ^ jest martwym kluczem, ale nie na poziomie materialnym.

Chciałbym móc mapować C-^, ale obecnie nie działa. Ponieważ "dead-circumflex" i "circumflex" to dwa różne klucze.

Jeśli zrobić:

(global-set-key "C-^" 'next-line) 

Następnie, naciskając klawisz sterujący z kluczem "^" wykonuje następujące operacje:

<C-dead-circumflex> is undefined 

Mamy emacs dowód zobaczyć martwy circumflex. Ale nadal nie mogę go zmapować.

wiem, że mogę zrobić

(global-set-key "^" 'next-line) 

, i że będzie działać przez naciśnięcie ^ dwa razy, ale nie jest to obejście szukam.

+0

Z jakiego systemu operacyjnego i GUI korzystasz? (np. Windows 7, OSX/Aqua, FreeBSD/KDE, ...) – Gilles

+0

Jestem na Linux Mint 11, z gnome 2. Używam Emacs 23.2.1. –

Odpowiedz

2

Komunikat o błędzie informuje, jakie imię Emacs używa dla klucza. Możesz przekazać ten ciąg do funkcji kbd, aby go powiązać.

(global-set-key (kbd "<C-dead-circumflex>") 'next-line) 
+0

Ale musisz ręcznie znaleźć i powiązać każdy martwy klucz w ten sposób. Rozwiązanie Larsa ustawia wszystko automatycznie w jednym wierszu. –

3

Po prostu miałem ten sam denerwujący błąd, ale tylko podczas korzystania z GUI emacs, a nie z terminala. Problem z proponowanym rozwiązaniem polega na tym, że^nie jest jedyną postacią, która nie działa. Dla mnie było to przynajmniej "i".

Z tego wątku: https://bugzilla.redhat.com/show_bug.cgi?id=918740 Znalazłem, że zmiana XMODIFIERS z "@ im = ibus" na "" rozwiązał problem. Podczas poszukiwania gdzie XMODIFIERS gdzie zestaw I stubled całej następującej kwestii: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1125944 Okazuje się, że poprzez usunięcie ~/.config/ibus/autobus, który rozwiązuje problem, który rozwiązuje ten problem także w emacs z martwych klawiszy

rm -rf ~/.config/ibus/bus 
3

Dodaj komputery następujące wpisy do ~/.emacs:

(require 'iso-transl) 

ta dba o problemie z nieokreślonej dead keys.

+0

to zrobiłem dla mnie, dzięki! (to jest z Emacsem 24.5.1 na Ubuntu 16.04, gdzie nie mam uprawnień administratora) – jfbu

Powiązane problemy