Bạn có thể cho những gì bố trí bàn phím bạn sử dụng trong hệ điều hành của bạn và những gì phương thức nhập bạn sử dụng trong Emacs? Hiện tại không có đủ thông tin trong bài đăng của bạn. Vấn đề của tôi là, ví dụ, tôi đã sử dụng Colemak và máy đánh chữ Nga làm bố trí hệ điều hành và máy đánh chữ Nga làm phương thức nhập liệu Emacs thứ cấp. Kết hợp Colemak (OS) -Russian (Emacs) làm rối loạn đầu vào của tôi, vì phương thức nhập của Emacs là bản đồ của ký tự tiếng Anh, nhận được từ hệ điều hành, một số ký tự tiếng Nga, và tất cả các phương thức nhập trong Emacs đều dựa trên ánh xạ từ QWERTY. Ví dụ: "йцукен" đã được in là "йцазпо". Tôi giải quyết nó bằng cách chạy đoạn mã sau:
(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"?Ь) ("<" ?Б) (">" ?Ю) ("?" ?Ё))
và sau đó sử dụng colemak-russian
thay vì russian-typewriter
. Bạn có thể thay đổi các cặp liên quan tương ứng với bố cục của bạn.
EDIT: Tất nhiên, đây không phải là giải pháp chính xác nhất. Như đã ghi chú Maksim, các ký tự chung cho cả hai ngôn ngữ được dịch ngay cả khi không nên. Ví dụ: tôi đặt bố cục hệ thống thành phương thức nhập Colemak và Emacs thành "colemak-russian" - sau đó tôi không thể sử dụng dấu phẩy, từ đó trở thành "б".
Để làm cho Emac bỏ qua bố cục hệ thống, bạn có thể tích hợp nó với phần mềm của bên thứ ba như xxkb, SCIM hoặc IBus. Khi bạn nói tiếng Nga, bạn có thể thử điều này tutorial.
Cá nhân tôi sử dụng hacky workaround để dịch các ký tự tiếng Nga bên trong các combo chính và bỏ qua các phương thức nhập Emacs hoàn toàn.
Nguồn
2012-06-05 16:21:54
Phương thức nhập Emacs của bạn là gì và bố cục bàn phím hệ thống của bạn là gì? Xin vui lòng cho biết tên chính xác. –