YouCompleteMe導入時のメモ

Vim上でJavaScript補完機能を追加した際のメモ。

基本的な流れは、以下のサイトを参考にした。

Using Vim as a JavaScript IDE

YouCompleteMe追加

NeoBundleでプラグイン管理してるので、.vimrcに以下のコードを追加。

NeoBundle 'Valloric/YouCompleteMe'

プラグインをインストール後、

$ cd ~/.vim/bundle/YouCompleteMe
$ git submodule update --init --recursive

んで、CMakeをインストー

$ brew install cmake
$ cd /usr/local/share/man 
$ sudo chown -R $USER man7 # YouCompleteMeのinstall.py実行時にcmake-buildsystemにsymlink貼ってないって怒られるので、それ対策用にディレクトリの所有者を変更
$ brew link cmake

そして、YouCompleteMeインストールを始める

$ ./install.py --clang-completer --tern-completer # --tern-completerオプション実行時にはNode.jsとnpm実行できるように環境作っておく

あとは、Ternの設定。ホームディレクトリに、.tern-projectファイル作成してJSON形式で保存。

{
  "libs": [
    "browser"
  ],
  "plugins": {
    "doc_comment": {},
    "complete_strings": {},
    "node": {},
    "es_modules": {}
  }
}

そうすれば、JSの補完機能はだいたいおけ。

詰まったところ

Tern設定周りのJSONの記述がミスっていたせいで、Tern not runningな状態にしばらく陥っていた。そんな時は、:YcmDebugInfoでデバック情報見て、Ternのログファイル見つめながら改善していけばおけ。

今後、ESlintをファイル保存時に自動的に走らせたり、syntax ハイライトを導入することで、コードエラーを最小限にしていく。