2012-02-28 18 views
9

Emacs yazarken dahili klavye düzeni anahtarını kullanıyorum.Emacs'i sistem klavye düzenini yok sayın

Bazen diğer uygulamalarla çalışırken sistem klavye düzenini değiştiriyorum.

Hem Emacs'ın iç hem de sistem düzenleri İngilizce değilse, müdahale eder ve çalışmak imkansızdır. Örneğin, bazı harfleri yazmanın ancak virgül karakterini yazmanın bir yolu olmamasının iki yolu var.

Emacs'in sistem klavye düzenini yoksaymasını sağlamak istiyorum. Mümkün mü?

DÜZENLEME:
Benim OS
Ben Emacs 24 kullanmak Linux Mint 10 (64bit) 'dir

+0

Emacs giriş yönteminiz nedir ve sistem klavye düzeniniz nedir? Lütfen kesin isimleri söyle. –

cevap

4

size OS kullanmak ve Emacs ne giriş yöntemleri kullandığınız klavye düzenleri söyleyebilir misiniz? Şu anda yayınınızda yeterli bilgi yok. Benim problemim, örneğin, OS düzenleri olarak Colemak ve Rus-daktilo ve ikincil bir Emacs giriş yöntemi olarak Rus-daktilo kullanmıştım. Kombinasyon Colemak (OS) -Russian (Emacs) girdimi karıştırdı, çünkü Emacs'in giriş yöntemi, işletim karakterinden alman bir karaktere, İngilizce karakterlerin eşleştirilmesine ve Emacs'deki tüm giriş yöntemlerinin QWERTY ile eşleştirilmesine dayanıyor. Örneğin, "йцукен" ne "йцазпо" olarak basılmış olmalıdır.

(require 'quail) 

(quail-define-package 
"colemak-russian" "Russian" "ru" nil 
"Russian-typewriter keyboard layout assuming that your default 
keyboard layout is Colemak" 
nil t t t t nil nil nil nil nil t) 

(quail-define-rules 
("1" ?№) ("2" ?-) ("3" ?/) ("4" ?\") ("5" ?:) ("6" ?,) ("7" ?.) ("8" ?_) ("9" ??) 
("0" ?%) ("-" ?!) ("=" ?\;) ("q" ?й) ("w" ?ц) ("f" ?у) ("p" ?к) ("g" ?е) ("j" ?н)("l" ?г) 
("u" ?ш) ("y" ?щ) (";" ?з) ("[" ?х) ("]" ?ъ) ("\\" ?\)) ("a" ?ф) ("r" ?ы) ("s" ?в) 
("t" ?а) ("d" ?п) ("h" ?р) ("n" ?о) ("e" ?л) ("i" ?д) ("o" ?ж) ("'" ?э) ("z" ?я) ("x" ?ч) 
("c" ?с) ("v" ?м) ("b" ?и) ("k" ?т) ("m" ?ь) ("," ?б) ("." ?ю) ("/" ?ё) ("~" ?+) ("!" ?1) 
("@" ?2) ("#" ?3) ("$" ?4) ("%" ?5) ("^" ?6) ("&" ?7) ("*" ?8) ("\(" ?9) ("\)" ?0) ("_" ?=) 
("+" ?\\) ("Q" ?Й) ("W" ?Ц) ("F" ?У) ("P" ?К) ("G" ?Е) ("J" ?Н) ("L" ?Г) ("U" ?Ш) ("Y" ?Щ) 
(":" ?З) ("{" ?Х) ("}" ?Ъ) ("|"?\() ("A" ?Ф) ("R" ?Ы) ("S" ?В) ("T" ?А) ("D" ?П) ("H" ?Р) 
("N" ?О) ("E" ?Л) ("I" ?Д) ("O" ?Ж) ("\"" ?Э) ("Z" ?Я) ("V" ?Ч) ("X" ?С) ("C" ?М) ("B" ?И) 
("K" ?Т) ("M"?Ь) ("<" ?Б) (">" ?Ю) ("?" ?Ё)) 

ve sonra colemak-russian yerine russian-typewriter kullandı: Ben şu kod çalıştırarak bunu çözdü. İlişkili çiftleri düzenlerinize uygun olarak değiştirebilirsiniz.

DÜZENLEME: Elbette, bu en doğru çözüm değildir. Maksim'un da belirttiği gibi, her iki dilde ortak olan karakterler, olmasa bile çevrilir. Örneğin, sistem düzenini Colemak ve Emacs giriş yöntemine "colemak-russian" olarak ayarlıyorum - sonra "б" haline gelen virgül kullanamıyorum.

Emacs'in sistem düzenini yoksaymasını sağlamak için, onu xxkb, SCIM veya IBus gibi üçüncü taraf yazılımlarla entegre edebilirsiniz. Rusça konuştuğunuzda, bu tutorial deneyebilirsiniz.

Rus karakterlerini tuş kombinasyonlarının içine çevirmek ve Emacs giriş yöntemlerini tamamen yok saymak için kişisel olarak bir hacky workaround kullanın.

+0

Bunu ne zaman test edeceğimi bilmiyorum, ama bence sorun değil. –

+0

Emacs doğrudan klavyeden giriş almaz, sistem düzenini yok saymak mümkün değildir gibi görünüyor. Kodunuz Kiril karakterleri düzgün bir şekilde yorumlayacaktır, ancak "," ve "." Için çalışacaktır. Latin düzenlerinde de bulunan karakterler? –

İlgili konular