うわ…私のEmacs力、低すぎ...?

6,177
-1

Published on

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,177
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
17
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

うわ…私のEmacs力、低すぎ...?

  1. 1. うわ... 私のEmacs力、低すぎ...?佐野 正浩
  2. 2. 自己紹介• Emacs歴6年 (=Linux歴) • 暇な時はひたすら設定していた• 既存のelispを拡張するくらい • elscreen, flymake, websocketなど• 好きなパッケージ • xterm-mouse-mode • flymake • elscreen 2
  3. 3. Emacs vs Visual Studio• EmacsはVSよりも良い…? • そんなのは幻想 • 補完周り、デバッグ機能など機能面で負ける • 速度面でもパッケージ入れまくれば遅くなる • VSのemacs(vim)プラグインが結構良いという話 • Eclipseはいらない 3
  4. 4. 素のEmacsに意味はない• 拡張性(カスタマイズ力)で勝負 • キーバインドの柔軟な割り当て • 他のスクリプトとの連携 • 自己満足• そして全てを組み合わせればVSに近づける...! 4
  5. 5. C++の開発力を上げるパッケージ• google-c-style• flymake• auto-complete• gtags(GNU GLOBAL)• quickrun• moccur-edit• gdb-mode 5
  6. 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. 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. 8. auto-complete• GNU Emacsのための最も賢い自動補完機能(公式より) • 標準機能のdabbrev-expandは何が補完されるかわからない • まるでVisual Studio!! • 補完候補を柔軟にカスタマイズ可能• Clangとの連携で文脈に応じた補完が可能 • emacs-clang-complete-async.el • 完全にVisual Studio!! • gccにはGCCSenseというのもあるが使うハードルが高すぎる... 設定面倒なのでがんばって! 8
  9. 9. gtags(GNU GLOBAL)• いわゆるTAGS • ctagsやetagsよりも高機能 • 関数呼び出し元ジャンプがある • Google Tagsじゃないよ • 開発中はもちろんコードリーディング中は必須ツール• 操作は4つ gtags-find-tags 関数の定義元へジャンプ gtags-find-rtags 関数の参照元へジャンプ gtags-find-symbol シンボルの利用場所へジャンプ gtags-pop-stack ジャンプ元に戻る 9
  10. 10. moccur-edit(color-moccur)• color-moccur • バッファ、ファイル、ディレクトリから検索(grep) • 標準のgrep-findとかより高機能(たぶん) • むしろmoccur-editがあるからこれを使う• moccur-edit • color-moccurの検索結果を編集できる • 例:recieveとtypoした箇所が複数のファイルにある • color-moccurでgrepした後にquery-replaceするだけで全ファイル一括 置換 10
  11. 11. quickrun• 編集中のファイルをモードに合わせて実行 • quickrun.vimのemacs版 • smart-compileより良い(?) • 特に設定しなくてもほとんどの言語に対応 11
  12. 12. gdb-mode• Emacsを使ったGDBのGUI • 割と直感的に使える? • 見た目がなんかVS • あんまり使ったことない… 12
  13. 13. その他• yasnippet.el • 定型コードのテンプレート• project.el, eproject.el • プロジェクト管理• speedbar, emacs-nav • ファイル一覧表示• elscreen.el • タブ表示 13
  14. 14. まとめ• VisualStudioは数万円もするからプロ向けだけど• Emacsは無料だから初心者向けだよ! fin.

×