More Related Content
Similar to うわ…私のEmacs力、低すぎ...?
Similar to うわ…私のEmacs力、低すぎ...? (20)
うわ…私のEmacs力、低すぎ...?
- 2. 自己紹介
• Emacs歴6年 (=Linux歴)
• 暇な時はひたすら設定していた
• 既存のelispを拡張するくらい
• elscreen, flymake, websocketなど
• 好きなパッケージ
• xterm-mouse-mode
• flymake
• elscreen
2
- 3. Emacs vs Visual Studio
• EmacsはVSよりも良い…?
• そんなのは幻想
• 補完周り、デバッグ機能など機能面で負ける
• 速度面でもパッケージ入れまくれば遅くなる
• VSのemacs(vim)プラグインが結構良いという話
• Eclipseはいらない
3
- 5. C++の開発力を上げるパッケージ
• google-c-style
• flymake
• auto-complete
• gtags(GNU GLOBAL)
• quickrun
• moccur-edit
• gdb-mode
5
- 6. google-c-style
• Google C++ Style Guideに沿ったインデント
• スペース2つ
• 細かいインデントの調整は難しいのでこれで統一が楽
• vim版もあるよ(google.vim)
• インデントの調整のみでその他の項目は強制されない
• cpplint.pyでチェックする
;; google-c-style
(require 'google-c-style)
(add-hook 'c-mode-common-hook 'google-set-c-style)
6
- 7. flymake
• リアルタイムにコンパイルして構文エラーを指摘
• gccでは-fsyntax-onlyで構文チェックのみできる
• 開発が爆速になる
• cpplintと組み合わせてスタイルチェックも可能
• エラー表示が目障りなので直したくなる
# Makefile
.PHONY: check-syntax
check-syntax:
cpplint.py $(CHK_SOURCES); ¥
$(CC) $(CFLAGS) –Wall –fsyntax-only $(CHK_SOUCES)
7
- 8. auto-complete
• GNU Emacsのための最も賢い自動補完機能(公式より)
• 標準機能のdabbrev-expandは何が補完されるかわからない
• まるでVisual Studio!!
• 補完候補を柔軟にカスタマイズ可能
• Clangとの連携で文脈に応じた補完が可能
• emacs-clang-complete-async.el
• 完全にVisual Studio!!
• gccにはGCCSenseというのもあるが使うハードルが高すぎる...
設定面倒なのでがんばって!
8
- 9. gtags(GNU GLOBAL)
• いわゆるTAGS
• ctagsやetagsよりも高機能
• 関数呼び出し元ジャンプがある
• Google Tagsじゃないよ
• 開発中はもちろんコードリーディング中は必須ツール
• 操作は4つ
gtags-find-tags 関数の定義元へジャンプ
gtags-find-rtags 関数の参照元へジャンプ
gtags-find-symbol シンボルの利用場所へジャンプ
gtags-pop-stack ジャンプ元に戻る 9
- 10. moccur-edit(color-moccur)
• color-moccur
• バッファ、ファイル、ディレクトリから検索(grep)
• 標準のgrep-findとかより高機能(たぶん)
• むしろmoccur-editがあるからこれを使う
• moccur-edit
• color-moccurの検索結果を編集できる
• 例:recieveとtypoした箇所が複数のファイルにある
• color-moccurでgrepした後にquery-replaceするだけで全ファイル一括
置換
10
- 13. その他
• yasnippet.el
• 定型コードのテンプレート
• project.el, eproject.el
• プロジェクト管理
• speedbar, emacs-nav
• ファイル一覧表示
• elscreen.el
• タブ表示
13