うわ…私のEmacs力、低すぎ...?
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 5,400 views

 

Statistics

Views

Total Views
5,400
Views on SlideShare
5,371
Embed Views
29

Actions

Likes
5
Downloads
13
Comments
0

3 Embeds 29

https://twitter.com 21
http://s.deeeki.com 7
http://slideshare-download.seesaa.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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