現在、TeX入力メソッドを使用してUnicode文字(主に数学記号)を挿入しています。これは面倒です。なぜなら、各キャラクターについて、私は以下をしなければならないからです:
- TeX入力方法に切り替える
C-\
- タイプラテックス式
\Bbb{R}
または\Leftrightarrow
ユニコード文字の比較的小さなサブセット(10〜20)があり、常に挿入しています。
Q:少数(2-4)のキーストロークでUnicode文字を挿入する方法はありますか?
現在、TeX入力メソッドを使用してUnicode文字(主に数学記号)を挿入しています。これは面倒です。なぜなら、各キャラクターについて、私は以下をしなければならないからです:
C-\
\Bbb{R}
または\Leftrightarrow
ユニコード文字の比較的小さなサブセット(10〜20)があり、常に挿入しています。
Q:少数(2-4)のキーストロークでUnicode文字を挿入する方法はありますか?
回答:
を使用abbrev-mode
して、目的のUnicode文字に「拡張」する文字列を作成できます。たとえば、次のabbrev
表はギリシャ語のアルファベットの最初の3つの小文字の略語を定義しています。
(define-abbrev-table 'unicode-table
'(("ualpha" "α")
("ubeta" "β")
("ugamma" "γ"))
"Unicode characters I use all the time.")
次にtext-mode
、Unicodeテーブルを継承するように(または他の任意のモード)に指示できます。
(define-abbrev-table 'text-mode-abbrev-table
nil
"Text mode abbrev table."
:parents (list unicode-table))
テキストモードでバッファに移動します。をオンにしabbrev-mode
ます。入力ualpha
と非単語の文字(スペース、ピリオド、など)、およびそれがαに拡大観察します。
elisp関数global-set-key
とを使用して、独自のキーシーケンスを定義できますlocal-set-key
。そのため、ユーザー定義のキーシーケンスにはC-c、1文字を使用することをお勧めします。(それ以外の場合は、他のemacs-lispライブラリによってバインドされたキーシーケンスを上書きする可能性があります。後で、キーシーケンスのライブラリバージョンが非常に役立つことがわかったときに問題が発生します。)
これらのシーケンスをメジャーモードとは無関係に使用する場合は、グローバルにバインドできます。
たとえば、次のように追加できます
(global-set-key (kbd "C-c a") "⇔")
あなたの設定ファイルに~/.emacs
。
または、メジャーモードに応じてこれらのキーを使用できます。
例は次のとおりです。
(defun my-latex-hook-function () (local-set-key (kbd "C-c a") "⇔"))
(add-hook 'TeX-mode-hook 'my-latex-hook-function)
これはで動作しauctex
ます。あなたはネイティブを使用している場合、tex-mode
またはlatex-mode
それはあなたが交換する必要があることかもしれませんTeX-mode-hook
でtex-mode-hook
。
にもinsert-char
バインドされていることに注意してくださいC-x 8 RET。これにより、コードがわかっている場合は、utf8文字を入力できます。コードがわからない場合は、説明で入力できますが、面倒です。
company-math
-Modeやac-math
-modeなど、latexシンボルの入力でユーザーをサポートする特別なモードもあります。
どちらも補完モードです。company
マウスメニューで機能し、ac
(オートコンプリート)は- tabキーで機能します。
しかし、これらのパッケージの現在のステータスについてはわかりません。これらのモードを試したい場合は、melpaごとにインストールできます。
C-c
Emacsまたは使用するライブラリによって提供されるキーバインディングと競合しないことを確認できることです。
あなたは言う:ユニコード文字の比較的小さなサブセットがあります(私は10-20と推測しています)私は常に挿入しています。
その場合、@ Tobiasが示すように、それぞれに対して、(a)その文字を挿入するコマンド、または(b)その文字を含む単一文字の文字列(これは文字を挿入するためのキーボードマクロ)。
ライブラリucs-cmds.el
は、そのようなコマンドを定義するのに役立ちます。結果のコマンドには、文字と同じ名前があります。マクロucsc-make-commands
を使用して、特定の種類の文字を挿入するコマンドのセット全体を定義できます。
たとえば、これをinitファイルに入れて、すべてのUnicode数学記号を挿入するコマンドを定義できます。
(require 'ucs-cmds) ; Load the library
(ucsc-make-commands "^math") ; Use the macro to create commands
これは、数学文字と同じ名前のコマンドを提供します。よく使用するものを使いやすいキーにバインドします。例えば:
(global-set-key (kbd "C-c S") 'mathematical-bold-capital-sigma)
(または、キーdefine-key
マップを使用して、Texモードでのみ、このようなコマンドにキーをバインドします。)
これだけ(ucsc-make-commands "^math")
で、以下にリストされているすべての文字挿入コマンドを使用できます。
文字で始まる名前ではなくmath
、数学で使用される他のUnicode文字もありますPARTIAL DIFFERENTIAL
。これらの文字を挿入するコマンドも簡単に作成できます。(そして、名前が始まる文字math
は特別なフォントを使用する必要があるかもしれないことに注意してください-多くのフォントはそれらをサポートしていません。)
もちろん、^math
そのようなパターンに一致する文字のみを定義する場合は、よりも厳密な正規表現を使用できます。たとえば、これはすべての部分差分文字に対するコマンドを定義します。
(ucsc-make-commands "^math.*partial differential")
それはあなたにこれらのコマンドを与えます:
mathematical-bold-italic-partial-differential
mathematical-bold-partial-differential
mathematical-italic-partial-differential
mathematical-sans-serif-bold-italic-partial-differential
mathematical-sans-serif-bold-partial-differential
Unicode文字名は単語をスペース文字で区切り、名前は大文字であることに注意してください。対応する挿入コマンドでは、スペースではなくハイフンを使用し、大文字ではなく小文字を使用します。
たとえば、文字のシングルトン文字列にキーをバインドするだけでなく、挿入する文字にちなんでコマンドに名前を付ける利点の1つは、M-x
使用頻度の低い文字を、補完を使用して名前で入力できることです。Unicode文字名のセット全体を補完する代わりに、定義した文字挿入コマンドの名前を補完します。
これらは、名前がで始まる文字を挿入するコマンドですmath
。それらはあなたが評価することによって得られるものです(ucsc-make-commands "^math")
。
mathematical-bold-capital-a
mathematical-bold-capital-alpha
mathematical-bold-capital-b
mathematical-bold-capital-beta
mathematical-bold-capital-c
mathematical-bold-capital-chi
mathematical-bold-capital-d
mathematical-bold-capital-delta
...
mathematical-bold-digit-eight
mathematical-bold-digit-five
mathematical-bold-digit-four
...
mathematical-bold-epsilon-symbol
mathematical-bold-fraktur-capital-a
mathematical-bold-fraktur-capital-b
...
mathematical-bold-fraktur-small-a
mathematical-bold-fraktur-small-b
...
mathematical-bold-italic-capital-a
mathematical-bold-italic-capital-alpha
mathematical-bold-italic-capital-b
mathematical-bold-italic-capital-beta
...
mathematical-bold-italic-nabla
mathematical-bold-italic-partial-differential
mathematical-bold-italic-phi-symbol
mathematical-bold-italic-pi-symbol
mathematical-bold-italic-rho-symbol
mathematical-bold-italic-small-a
mathematical-bold-italic-small-alpha
mathematical-bold-italic-small-b
mathematical-bold-italic-small-beta
...
mathematical-bold-nabla
mathematical-bold-partial-differential
mathematical-bold-phi-symbol
mathematical-bold-pi-symbol
mathematical-bold-rho-symbol
mathematical-bold-script-capital-a
mathematical-bold-script-capital-b
...
mathematical-bold-script-small-a
mathematical-bold-script-small-b
...
mathematical-bold-small-a
mathematical-bold-small-alpha
mathematical-bold-small-b
mathematical-bold-small-beta
...
mathematical-double-struck-capital-a
mathematical-double-struck-capital-b
...
mathematical-double-struck-digit-eight
mathematical-double-struck-digit-five
mathematical-double-struck-digit-four
mathematical-double-struck-digit-nine
mathematical-double-struck-digit-one
mathematical-double-struck-digit-seven
mathematical-double-struck-digit-six
mathematical-double-struck-digit-three
mathematical-double-struck-digit-two
mathematical-double-struck-digit-zero
mathematical-double-struck-small-a
mathematical-double-struck-small-b
...
mathematical-falling-diagonal
mathematical-fraktur-capital-a
mathematical-fraktur-capital-b
...
mathematical-fraktur-small-a
mathematical-fraktur-small-b
...
mathematical-italic-capital-a
mathematical-italic-capital-alpha
mathematical-italic-capital-b
mathematical-italic-capital-beta
...
mathematical-italic-nabla
mathematical-italic-partial-differential
mathematical-italic-phi-symbol
mathematical-italic-pi-symbol
mathematical-italic-rho-symbol
mathematical-italic-small-a
mathematical-italic-small-alpha
...
mathematical-italic-small-dotless-i
mathematical-italic-small-dotless-j
mathematical-italic-small-e
mathematical-italic-small-epsilon
...
mathematical-italic-small-final-sigma
...
mathematical-left-angle-bracket
mathematical-left-double-angle-bracket
mathematical-left-flattened-parenthesis
mathematical-left-white-square-bracket
mathematical-left-white-tortoise-shell-bracket
mathematical-monospace-capital-a
mathematical-monospace-capital-b
...
mathematical-monospace-digit-eight
mathematical-monospace-digit-five
mathematical-monospace-digit-four
...
mathematical-monospace-small-a
mathematical-monospace-small-b
...
mathematical-right-angle-bracket
mathematical-right-double-angle-bracket
mathematical-right-flattened-parenthesis
mathematical-right-white-square-bracket
mathematical-right-white-tortoise-shell-bracket
mathematical-rising-diagonal
mathematical-sans-serif-bold-capital-a
mathematical-sans-serif-bold-capital-alpha
mathematical-sans-serif-bold-capital-b
mathematical-sans-serif-bold-capital-beta
...
mathematical-sans-serif-bold-digit-eight
mathematical-sans-serif-bold-digit-five
mathematical-sans-serif-bold-digit-four
...
mathematical-sans-serif-bold-italic-capital-a
mathematical-sans-serif-bold-italic-capital-alpha
mathematical-sans-serif-bold-italic-capital-b
mathematical-sans-serif-bold-italic-capital-beta
...
mathematical-sans-serif-bold-italic-nabla
mathematical-sans-serif-bold-italic-partial-differential
...
mathematical-sans-serif-bold-italic-small-a
mathematical-sans-serif-bold-italic-small-alpha
mathematical-sans-serif-bold-italic-small-b
mathematical-sans-serif-bold-italic-small-beta
...
mathematical-sans-serif-bold-italic-small-final-sigma
...
mathematical-sans-serif-bold-nabla
mathematical-sans-serif-bold-partial-differential
...
mathematical-sans-serif-bold-small-a
mathematical-sans-serif-bold-small-alpha
mathematical-sans-serif-bold-small-b
mathematical-sans-serif-bold-small-beta
...
mathematical-sans-serif-bold-small-final-sigma
...
mathematical-sans-serif-capital-a
mathematical-sans-serif-capital-b
...
mathematical-sans-serif-digit-eight
mathematical-sans-serif-digit-five
mathematical-sans-serif-digit-four
...
mathematical-sans-serif-italic-capital-a
mathematical-sans-serif-italic-capital-b
...
mathematical-sans-serif-italic-small-a
mathematical-sans-serif-italic-small-b
...
mathematical-sans-serif-small-a
mathematical-sans-serif-small-b
...
mathematical-script-capital-a
...
mathematical-script-small-a
mathematical-script-small-b
...