あなたがあなたのOSで使用していて、Emacsで何インプットメソッドを使用しているもののキーボードレイアウトを伝えることはできますか?現在、投稿に十分な情報がありません。私の問題は、例えば、私はOSのレイアウトとしてColemakとロシアのタイプライターを使用し、Emacsのセカンダリ入力メソッドとしてロシアのタイプライターを使用したということでした。 Emacsの入力方法は、OSから受け取った英語の文字をロシア語の文字にマッピングするものであり、Emacsのすべての入力メソッドはQWERTYからのマッピングに基づいているため、Combination Colemak(OS)-Russian(Emacs)は自分の入力を混乱させました。たとえば、 "цукен"は "цузез"として印刷されていたはずです。私は、次のコードを実行することによってそれを解決:
(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"?Ь) ("<" ?Б) (">" ?Ю) ("?" ?Ё))
をし、その後colemak-russian
の代わりrussian-typewriter
を使用しました。関連するペアをレイアウトに対応させて変更することができます。
EDIT:もちろん、これは最も正しい解決策ではありません。 Maksimに記載されているように、両方の言語に共通の文字は、そうしてはならない場合でも翻訳されます。例えば、私はシステムレイアウトをColemakに、Emacsの入力メソッドを "colemak-russian"に設定します。そして、 "б"になるコンマは使用できません。
システムレイアウトを無視するには、xxkb,SCIM、IBusなどのサードパーティ製ソフトウェアと統合することができます。あなたはロシア語を話すときに、これを試してみてくださいtutorial。
私は個人的にhacky workaroundを使用して、キーコンボ内でロシア語の文字を翻訳し、Emacsの入力方法を完全に無視します。
Emacsの入力方法は何ですか?システムのキーボードレイアウトは?正確な名前を教えてください。 –