Emacsを使っている人に限らず、タイプ数を減らすために、
キーボードマクロを使っている人は多いと思います。
私の場合、for文やmain関数などをキーボードマクロで自動生成したりしているのですが、
最近、ほかの言語の構文と名前がかぶってしまったり、
RubyやPythonで書いているときは欲しいんだけど、
CやC++で書いているときは、全然いらないマクロがあったりするのが気になったので、
整理することにしました。
最初はマクロに言語の名前をつけて区別しようとしたのですが、
Emacsではadd-hookが使えるので、そっちを使って言語モード毎にマクロを設定することにしました。
(setq c_macros_dir "~bokko/emacs-macros/c/") (add-hook 'c-mode-hook '(lambda () (load-file (concat c_macros_dir "create_nested_block_main.macs")) (load-file (concat c_macros_dir "create_nested_block_for.macs")) (load-file (concat c_macros_dir "create_nested_block_while.macs")) ・ ・ ・ )) (setq php_macros_dir "~bokko/emacs-macros/php/") (add-hook 'php-mode-hook '(lambda () (load-file (concat php_macros_dir "create_nested_block_func.macs")) (load-file (concat php_macros_dir "create_nested_block_class.macs")) (load-file (concat php_macros_dir "create_nested_block_foreach.macs")) (load-file (concat php_macros_dir "var_dump_exit.macs")) ・ ・ ・ ))
このように書くと、各言語モードだけに必要なキーボードマクロを設定することができますし、
別の言語に同じ名前のマクロがあっても大丈夫です。