Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

8,620 views

Published on

Published in: Technology
  • Be the first to comment

うわ…私の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.

×