【vim】vimでコード補完するのです! part 1

vimでCSSを修正していると、Dream Weaverやeclipseのような強力なコード補完がほしくなったのでvimの補完機能について諸々調べてみました。

手始めに知ったのが以下のコマンド

[Ctrl]-n : 順方向に選択
[Ctrl]-p : 逆方向に選択

このコマンドは、開いているファイルの中にある単語を参照して、入力している文字の先頭から合致する単語を補完してくれます。
長い名前の関数や変数を同じファイル内で複数回使用するときに便利ですね。


続いて
vim7で搭載されたオムニ補完 (Omni completion)
.vimrcに以下を記述すると指定された言語のコード補完が可能になります。

autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete

しかしこれは、Dream Weaverのような自動補完ではありません。
CSSファイルを開いてオムニ補完を使用し、background-colorを補完させたい場合、
挿入モードで「back」ぐらいまで入力して、以下のコマンドを入力。

[Ctrl]-x , [Ctrl]-o

これでようやく補完されるべきプロパティの一覧がリスト形式で表示されます。
言語によっては手打ちのほうが速く入力できることがあるので、辞書と、スペルチェックにしか使えない気がします。十分便利ですが。。


part 2に続く。


■参考ページ
VIM 7: TURNING COMPLETION ON
http://amix.dk/blog/viewEntry/19021
vim入力補完 - vi・vim勉強中。
http://www.webhtm.net/vim/inputsupport.htm

Add your comments: