Emacsに特殊文字を挿入する


3

私は英語のキーボードを使用し、時々ドイツ語の文字を入力する必要があります。だから私は定義した

(global-set-key [?\C-\;] (make-sparse-keymap))
(global-set-key [?\C-\; ?A] [?\x08C4]) 
...

「ä」などを挿入します。以前は機能していましたが、現在のGNU Emacs 23.1.1では機能しません。数字としてハードコードされた文字を使用するのは良い考えではないことを理解していますが、エンコードの問題を回避するのに役立ちました(これは、共有ファイルシステムでもSun、Linux、Windowsでうまく機能しました)。

Emacsに特殊文字を挿入するためのキーを定義する最良の方法は何ですか?


ある\x08C4だけのタイプミス?それ\x00E4ä...あなたのelispコードが私のGNU Emacs 23.1.1(Linux Ubuntu)で
正常に

いいえ、これは確かにタイプミスではありません。コピーして再確認しました。以前はこの方法で動作していましたが、今では\ x00C4が動作している間にU + 08c4が挿入されます。...論理的で、私は知っています。私はこれを10年前に書いたかもしれません。答えを作成するかもしれませんので、それ以上良いものがなければ受け入れます。
maaartinus

ちょっとした考え。私はそれについて十分に知っていませんが、10年前にそれを設定すると、おそらくあなたが使用していたMule当時とではないUnicode...それは今使用しているように思われる、
Peter.O

はい、と呼ばれるものがあったことを覚えていますMule
-maaartinus

回答:


2

編集:あなたの特別な文字を入力するための可能な簡単な方法を追加しました。

あなたのelispコードは私のGNU Emacs 23.1.1(Linux Ubuntu)でうまく動作します

この最初のmake-sparse-keymap行を必要とせずに、ショートカットキーを設定する次の2つの方法の両方が(私のemacsで)機能します。
   (global-set-key [?\C-\;] (make-sparse-keymap))

(global-set-key [?\C-\; ?A] [?\x00E4])
(define-key key-translation-map (kbd "C-; a") (kbd "ä"))

特殊文字を入力する簡単な方法input methodは、必要な文字を含むを使用することです。「ä」の場合latin-1-prefixは、適切です。

いずれかの方法で代替入力方法を選択します

  • C-x RET C-\
  • M-x set-input-method

選ぶ latin-1-prefix

文字を入力するにはä、に切り替えるlatin-1-prefixと入力し"a
ますが、一般的に入力する内容に応じて。あなたは戻って切り替える必要はないかもしれませんlatin-1-prefix

入力方法を切り替えます(有効または無効)。

  • C- \

現在の入力方法を説明するには、次のいずれかを使用します

  • C-h C-\
  • C-h I

詳細については、以下を参照してください。

また、Xah LeeのEmacsおよびUnicodeのヒントページにいくつかの一般的な情報があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.