EmacsでもText Expander

やっぱりText Expander

ギークなアニキたちは、もっとクールなelispで解決してるのかもしれないけど、自分は使い慣れたツールを使いたい所存。

初期設定だと動作しない。恐らく、TextExpanderがキーボード操作のイベントを使っているので、Emacsの特殊なキー環境の中では意図した動作にならないと推測。

Command-vでペーストできればOK

Cocoa Emacsの場合は、ControlとMetaを入れ替える。CommandがMetaキーになるように。

;; commandキーとoptionキーを入れ替え
(setq ns-command-modifier (quote meta))
(setq ns-alternate-modifier (quote super))

そして、M-vでyankできるように設定。本来のscroll-upは何か適当なキーに退避。

;; Text Expanderに対応
(setq ns-alternate-modifier 'alt)
(define-key global-map [(alt ?v)] 'scroll-up)
(define-key global-map [(meta ?v)] 'yank)

これで、使い慣れたText ExpanderのスニペットがEmacs上でも利用できる状態になった。elispで何とかするのも良さそうだけど、Emacsでしか利用できないよりは、イザというときに有利なハズ。

参考記事

Make TextExpander work with GUI Emacs - Mac OS X Hints