Blackbing Playground

[VIM] ternjs, YouCompleteMe

同事 othree 分享了 ternjs,之前看到沒有支援 coffee 就放棄了,沒想到強者我同事就順手加了 coffee 的支援,看起來蠻不錯用的,記錄一下安裝方式。

Install tern_for_vim

這裡比較麻煩的是因為 tern 的原作者失聯,為了要支援 coffee script ,因此他自己 clone 了一個版本出來 support。

  1. install https://github.com/othree/tern_for_vim with bundle
  2. cd ~/.vim/bundle/tern_for_vim/
  3. cd tern
  4. npm install

Install YouCompleteMe

完整的安裝說明請參考https://github.com/Valloric/YouCompleteMe#mac-os-x-super-quick-installation

  1. brew install vim make sure your vim version is up to 4.7
  2. brew install CMake
  3. install https://github.com/Valloric/YouCompleteMe with bundle
  4. cd ~/.vim/bundle/YouCompleteMe
  5. ./install.sh --clang-completer

Add triggers to .vimrc

設定你的觸發鍵.,例如當你打.時就會跳出自動完成視窗

1
2
3
let g:ycm_semantic_triggers = {
\\ 'coffee': ['.'],
\\ }

Add .tern-project file to your project

在你的專案加入一個檔案,內容如下。

1
2
3
4
5
6
7
8
9
10
{
"libs": [
],
"plugins": {
"requirejs": {
"baseURL": "app/assets/javascripts/"
},
"coffee": {}
}
}

plugin 還支援 node, requireJS, Angular, Doc Comment,有空來玩玩看。http://ternjs.net/doc/manual.html#plugins


#Done!

接下來就可以在你的專案裡頭的 coffee 使用了,實際使用大概像這樣,可以直接用 require 來讀取底下的 method or attribute。
Screen Shot 2014-02-10 at 下午4.33.34.png

##reference:

  1. http://tilvim.com/2013/08/21/js-autocomplete.html
  2. http://ternjs.net/
  3. https://github.com/Valloric/YouCompleteMe
  4. https://blog.othree.net/