emacsで C/C++ でコーディングしている開発者向けの emacs の設定です.
[F5]でビルド,[F4]でエラー行へジャンプといったことが出来,かなり便利です.
具体的には以下のような事が出来ます.
- [F7]でコンパイル(バッファを全部保存して,make all します)
- [F4]でコンパイルエラー行へジャンプ
- [F1]でカーソル下の単語について マニュアルを開く
- SHIFT+[F7] でリビルド(make clean all)
- SHIFT+[F4] で一つ前のエラー行へジャンプ
設定は .emacs に以下の内容を追記するだけです.
(setq auto-mode-alist (append '(("\\.C$" . c++-mode) ("\\.cc$" . c++-mode) ("\\.cpp$". c++-mode) ("\\.hh$" . c++-mode) ("\\.c$" . c-mode) ("\\.h$" . c++-mode)) auto-mode-alist)) (add-hook 'c-mode-common-hook '(lambda () (require 'vc-hooks) (setq completion-mode t) ;; make のオプションは聞いてこない (setq compilation-read-command nil) ;; make するとき 全バッファを自動的にsaveする (setq compilation-ask-about-save nil) (define-key c-mode-base-map [f1] 'manual-entry) (define-key c-mode-base-map [f4] 'next-error) (define-key c-mode-base-map [(shift f4)] 'previous-error) (define-key c-mode-base-map [f7] 'compile) (define-key c-mode-base-map [(shift f7)] '(lambda () (interactive) ;;(require 'compile) ;;(save-some-buffers (not compilation-ask-about-save) nil) (compile-internal "make clean all" "No more errors"))) ))
キーアサインは昔の microsoft visual studio に合わせています.少し設定を替えれば,
Visual Studio .NET 風のキーバインドにも出来ます.
ただ,この設定は,内部で make all や make clean を実行しています.そのため Makefile を書かないと,動作しません.
Makefile の書き方については *1 *2 を参考にしてください.
また以下の書籍が参考になります.
入門 GNU Emacs 第3版
posted with amazlet at 09.04.05
Emacs Lispプログラミング入門
posted with amazlet at 09.04.05