2012-04-17 8 views
21

Thisページには、M-iを使用してギリシャ文字をEmacsに挿入できることが示されています。しかし、Debian SqueezeのEmacs 23.2.1は、M-iが押されたときに "タブ"文字を挿入します。 Emacsにαやβなどのギリシャ文字を挿入するにはどうすればいいですか?Emacsにギリシャ文字を入力する方法

答えて

3

あなたは次のように、別の接頭辞を使用することができます。

(global-set-key (kbd "C-x <ESC> a") "α") 
(global-set-key (kbd "C-x <ESC> b") "β") 

またはそれはあなたが言及したページで説明だとしてglobal-abbrev-tableを使用しています。

+0

最初に必要な文字をコピーして貼り付ける必要がありますが、それ以外の場合は実行可能な解決策です。 – SabreWolfy

9

あなたはギリシャへのご入力方法を設定することができます(同じである)

M-x set-input-method RET greek 

または

C-x RET C-\ greek 

。入力方法を戻すには、C-\toggle-input-method)を押してください。

18

は、名前または値によって任意のUnicode 文字を挿入するためにC-XRET にバインドucs-insertを使用することができます。

ラムダを挿入するたとえば、あなたが行うことができます

  • C-XRETGREEK SMALL LETTER LAMBDARET→λ
  • C-XRET03bbRET→λ

タブ補完も利用できます。

C-XRET* lambdaTAB は、ラムダで終了し、すべてのUnicode文字の一覧が表示されます。

+0

これは 'insert-char'と呼ばれています。 – Rasmus

45

M-xset-input-method RET TeXなどと書くことができます。 Σを取得するにはβ\sumまたは\Sigmaを取得する\betaなど

それは、とC- < \ C-にバインドされた、toggle-input-methodでオンとオフを切り替えることができます。

+5

これは素晴らしいトリックです! – Daimrod

3

ギリシャ文字をEmacsに散発的に挿入する最も簡単な方法は、略式this abbrev table of Greek lettersを使用することです。

は、上記の主旨を使用するのemacsを起動して、略語エディタを起動します M-x edit-abbrevsを呼び出します。次に の定義を切り取り、 (global-abbrev-table)セクションの下に貼り付けて(グローバルに利用できるようにする)、別の見出しの下に置きます。 (text-mode-abbrev-table)

M-X略語モードRETに与えられたバッファに略語モードを有効にするかグローバルあなたのinitファイルに(setq-default abbrev-mode t)を追加することにより、略語モードを有効にすることを確認してください。あるいは、例えば略語のみを有効にする場合は、テキストモードおよび派生モードの場合は、(add-hook 'text-mode-hook (lambda() (abbrev-mode 1)))を使用します。

the emacs wiki about abbrev-modeを参照してください。

1

C-x 8 RETは、上記の@Daimrodに記載されているように、一回限りの挿入で問題ありません。

特定のUnicode文字を挿入するためにキーをバインドする場合:ライブラリucs-cmds.elをロードしてから、C-1 C-x 8 RETを使用します。これにより、選択した文字が挿入され、同じ名前のコマンドが作成され、キーにバインドすることができます。例えば

C-1 C-x 8 RET GREEK SMALL LETTER LAMBDA RETが呼び出されたときに、その文字を挿入コマンドgreek-small-letter-lambdaを定義します。

マクロucsc-make-commandsucs-cmds.el)を使用して複数のコマンドを同時に作成できます。たとえば、ちょうどこれを行う、ギリシャ文字の各のための個々のコマンドを作成します。

その後
(ucsc-make-commands "^greek [a-z]+ letter") 

あなたはgreek-small-letter-betaC-c bにまたは任意のコマンド、たとえば、バインドすることができます。

(global-set-key (kbd "C-c b") 'greek-small-letter-beta) 
7

拡大@Oleg Pavlivによる回答:

.emacsファイルでこの問題を一度に解決するには、キーパターン(M-g + <latin letter>など)を選択する必要があります。記憶可能な対応表<greek letter> - <latin letter>。新しいものを発明するのではなく、PostScriptシンボルエンコーディングからの対応を使用することをお勧めします。これにより、次のような結果になります。

(global-set-key (kbd "M-g a") "α") 
(global-set-key (kbd "M-g b") "β") 
(global-set-key (kbd "M-g g") "γ") 
(global-set-key (kbd "M-g d") "δ") 
(global-set-key (kbd "M-g e") "ε") 
(global-set-key (kbd "M-g z") "ζ") 
(global-set-key (kbd "M-g h") "η") 
(global-set-key (kbd "M-g q") "θ") 
(global-set-key (kbd "M-g i") "ι") 
(global-set-key (kbd "M-g k") "κ") 
(global-set-key (kbd "M-g l") "λ") 
(global-set-key (kbd "M-g m") "μ") 
(global-set-key (kbd "M-g n") "ν") 
(global-set-key (kbd "M-g x") "ξ") 
(global-set-key (kbd "M-g o") "ο") 
(global-set-key (kbd "M-g p") "π") 
(global-set-key (kbd "M-g r") "ρ") 
(global-set-key (kbd "M-g s") "σ") 
(global-set-key (kbd "M-g t") "τ") 
(global-set-key (kbd "M-g u") "υ") 
(global-set-key (kbd "M-g f") "ϕ") 
(global-set-key (kbd "M-g j") "φ") 
(global-set-key (kbd "M-g c") "χ") 
(global-set-key (kbd "M-g y") "ψ") 
(global-set-key (kbd "M-g w") "ω") 
(global-set-key (kbd "M-g A") "Α") 
(global-set-key (kbd "M-g B") "Β") 
(global-set-key (kbd "M-g G") "Γ") 
(global-set-key (kbd "M-g D") "Δ") 
(global-set-key (kbd "M-g E") "Ε") 
(global-set-key (kbd "M-g Z") "Ζ") 
(global-set-key (kbd "M-g H") "Η") 
(global-set-key (kbd "M-g Q") "Θ") 
(global-set-key (kbd "M-g I") "Ι") 
(global-set-key (kbd "M-g K") "Κ") 
(global-set-key (kbd "M-g L") "Λ") 
(global-set-key (kbd "M-g M") "Μ") 
(global-set-key (kbd "M-g N") "Ν") 
(global-set-key (kbd "M-g X") "Ξ") 
(global-set-key (kbd "M-g O") "Ο") 
(global-set-key (kbd "M-g P") "Π") 
(global-set-key (kbd "M-g R") "Ρ") 
(global-set-key (kbd "M-g S") "Σ") 
(global-set-key (kbd "M-g T") "Τ") 
(global-set-key (kbd "M-g U") "Υ") 
(global-set-key (kbd "M-g F") "Φ") 
(global-set-key (kbd "M-g J") "Φ") 
(global-set-key (kbd "M-g C") "Χ") 
(global-set-key (kbd "M-g Y") "Ψ") 
(global-set-key (kbd "M-g W") "Ω") 
+0

これは便利ですが、デフォルトの 'M-g'マッピングを' mark-paragraph'にマスクしないように注意してください。 –

関連する問題