うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

emacsの動的略語展開を使ってみよう

スポンサーリンク

この記事では、emacsから標準で付いている、動的略語展開モードと拡張の仕方を説明します。

動的略語展開とはなんぞや?

例えば、pと書いて、コマンドを押せば、printと展開してくれるように、略語を書くだけで長い単語を一気に打ち出してくれる便利な機能のことです。

emacsで動的略語展開する

デフォルトで動的略語展開用のコマンド M-x dabbrev-expandが入っています。

使い方

global-set-keyの文字が含まれている.elファイルを扱っているとしましょう。このファイル内で、gとタイプして、その後M-x dabbrev-expandと打ち込むと、gの部分がglobal-set-keyに展開されます。

さらに、もう一度そのままM-x dabbrev-expandを打つと、頭文字にgを持つ別の展開候補に切り替わります(もし候補があれば)。何度もコマンドを打つことで、所望の展開候補にたどり着くことが出来ます。

また、emacsでは、今のバッファだけでなく、別バッファに載っている単語でも、展開される候補に加えます。

コマンド割り当て

デフォルトでは、以下の3つのコマンドが割り当てられています。

コマンド 名前 説明
C-x ' expand-abbrev (不明)
M-/ dabbrev-expand 動的略語展開を即実行
C-M-/ dabbrev-completion 候補をバッファが出現。展開したい候補を選べる略語展開

必要に応じて、例えば以下のように自分のキーバインドを設定します。

  ;; 動的略語展開のキー
 (global-set-key (kbd "C-<tab>") 'dabbrev-expand) 
 (define-key minibuffer-local-map (kbd "C-<tab>") 'dabbrev-expand)

参考

動的略語展開と静的略語展開

動的はバッファから展開される候補を探しますが、静的では予め作っておいた辞書のファイルから展開する候補を呼び出すことが違いです。