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.

Ultimate completion environment with neocomplcache in vim

10,060 views

Published on

neocomplcacheとVimを組み合わせた究極の環境の説明

Published in: Technology
  • Be the first to comment

Ultimate completion environment with neocomplcache in vim

  1. 1. neocomplcache+Vim で 実現する究極補完環境 Shougo
  2. 2. 自己紹介 <ul><li>ハンドルネーム:Shougo
  3. 3. Vim大好き
  4. 4. 補完大好き
  5. 5. あまりRubyは使っていません
  6. 6. 毎日Vim Scriptを書いています </li></ul>
  7. 7. 代表作 <ul><li>こんなの作りました
  8. 8. vimshell - Vim Scriptで実装されたシェル
  9. 9. vimfiler - Vim Scriptで実装されたファイラー
  10. 10. neocomplcache - Vimの自動補完環境
  11. 11. unite.vim - anything.elのVim版
  12. 12. echodoc - echo areaにドキュメント表示 </li></ul>全部 Vim のプラグインですが何か?
  13. 13. 今日は neocomplcache について話します。
  14. 14. neocomplcacheとは? <ul><li>Vim Scriptで実装された自動補完プラグイン
  15. 15. 一部の人には「AutoComplPopやauto-complete.elのようなもの」と言ったほうが分かりやすいかも
  16. 16. 通称「ネコ」もしくは「ネオコン」と呼ばれています。
  17. 17. 私自身は「neocomplcache」で統一しています。 </li></ul>
  18. 18. neocomplcacheの歴史 <ul>これまで愛用していた autocomplpop.vim が Linux GVim 上の ATOK X3 でおかしくなる問題が発生。 それなら自分で作ってしまえ!        キーワードパターンはユーザーが自由に定義できるようにする        補完が遅いなぁと思い、結果をキャッシュするように改造         今の時代はプラグイン化だ!ということでファイル分割          </ul>
  19. 19. neocomplcacheの歴史 <ul>スニペット補完を使ってみたくなったので、 スニペット機能を0から再実装、プラグインとして組み込む        インクルード補完を実装し始める        さらなる暴走を始め、現在に至る…… 詳しくはplugin/neocomplcache.vim内のChangeLogで。(注:1500行あります) </ul>
  20. 20. 簡単な使い方 <ul><li>~/.vimにneocomplcacheの配布ファイルをインストールする
  21. 21. Vimを立ち上げる
  22. 22. :NeoComplCacheEnableを実行する
  23. 23. キー入力するとポップアップが出る </li></ul>
  24. 24. neocomplcacheの優位性 <ul><li>使う言語に依存しない
  25. 25. オムニ補完を呼べる
  26. 26. 開発が盛ん
  27. 27. インクルードファイル補完
  28. 28. シンタックスファイル補完
  29. 29. スニペット補完
  30. 30. プラグインで拡張可能
  31. 31. 豊富すぎるオプション </li></ul>
  32. 32. オムニ補完 <ul><li>Vim 7.0 で導入された、文脈を読む賢い補完
  33. 33. インテリセンスのようなもの
  34. 34. 標準で css/html/Java Script/C/Python/Ruby に対応
  35. 35. neocomplcache では、 g:neocomplcache_omni_patterns を設定すれば、自動的に呼べる
  36. 36. しかし、 Ruby のオムニ補完は問題が多いのでデフォルトでは無効になっています
  37. 37. だれかもっといいのを作ってください </li></ul>
  38. 38. インクルード補完 <ul><li>開いているファイルを勝手にキャッシュしてタグを作成する機能
  39. 39. インクルードしたファイルにある関数を補完できる
  40. 40. echodoc と組み合わせればドキュメントも表示できる
  41. 41. 残念ながら、 Ruby 組み込みの関数は宣言のファイルがないので補完できません </li></ul>
  42. 42. メンバ補完 <ul><li>使ったメンバーを認識、 . を入れたときに補完候補を表示
  43. 43. パースはしていないので、一度使わないと認識しません
  44. 44. それでも便利
  45. 45. いろんな言語に対応しています </li></ul>
  46. 46. シンタックス補完 <ul><li>Vim のシンタックスファイルを解析して、補完候補に追加します
  47. 47. 辞書を用意しなくてよい
  48. 48. もちろん、個別に辞書を用意すれば、それから補完することもできます
  49. 49. Vim の豊富なシンタックスファイルは強力な武器 </li></ul>
  50. 50. スニペット補完 <ul><li>neocomplcache にはスニペットプラグインが組み込まれている
  51. 51. neocomplcache でスニペットのトリガーを補完できる
  52. 52. ファイルは snipMate 互換
  53. 53. スニペットファイルの include ができたり、いろいろ拡張されている </li></ul>
  54. 54. context filetype <ul><li>文脈を考慮したファイルタイプのこと
  55. 55. 自由にユーザーが定義できる
  56. 56. 例えば、 Vim script 中の Ruby インタフェースを Ruby として補完できる </li></ul>
  57. 57. vimshellとの連携 <ul><li>vimshell と neocomplcache を組み合わせると、シェルで自動補完ができる
  58. 58. Vim から出なくても作業が完結する
  59. 59. zsh ? screen? 何それおいしいの
  60. 60. そういう便利なツールは Windows にはありません </li></ul>
  61. 61. termtterとの連携 <ul><li>vimshell と neocomplcache と termtter を組み合わせると、 Vim から Twitter ができる
  62. 62. Vim から出なくてもつぶやける!
  63. 63. ちなみに、私はこれを使って Twitter をしています
  64. 64. ヒストリやキーワードから補完できるので大変便利 </li></ul>
  65. 65. :Neco <ul><li>秘密のコマンド
  66. 66. これを実行すると? </li></ul>
  67. 67. 今からデモをやります
  68. 68. まとめ <ul><li>neocomplcacheとVimを組み合わせれば、最強の開発環境になる
  69. 69. Emacs? 何それおいしいの
  70. 70. 私はもうneocomplcacheがないとプログラムが書けません </li></ul>
  71. 71. 今後のneocomplcache <ul><li>開発は一段落したので、保守モード?
  72. 72. インクルード補完の強化
  73. 73. unite.vimとの連携
  74. 74. ぶっちゃけ、他のプラグインの開発が忙しいです </li></ul>
  75. 75. おまけ <ul><li>ついに Vim 7.3 がリリースされたので、皆さん新機能に wktk しましょう。
  76. 76. Happy Vimming! </li></ul>

×