2007-02-17 C/C++開発者向けemacsの設定
C/C++開発者向けemacsの設定
programming, linux, emacs |
![]()
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 を参考にしてください.
また以下の書籍が参考になります.
コメントを書く
トラックバック - http://d.hatena.ne.jp/pyopyopyo/20070217/p1
リンク元
- 701 http://d.hatena.ne.jp/niitsuma/20080114/1201322325
- 95 http://bbs.fedora.jp/read.php?FID=10&TID=5769
- 89 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:unofficial&hs=yGZ&q=プログラミング++linux+emacs&btnG=Google+検索&lr=lang_ja
- 46 http://reader.livedoor.com/reader/
- 44 http://d.hatena.ne.jp/niitsuma/20080114
- 36 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLR,GGLR:2006-45,GGLR:ja&q=C+++プログラミング Linux
- 25 http://www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla:ja:official&q=makefileの書き方+define+/D&btnG=Google+検索&lr=lang_ja
- 24 http://b.hatena.ne.jp/entry/3995644
- 24 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=com.ubuntu:ja:official&hs=hml&q=emacs+c-mode&suggest=0&sa=X&oi=cjkrefinements&resnum=1&ct=result&cd=1
- 24 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=c-mode+emacs&num=50




