autocomplpop.vimでJavaScriptのomni補完をできるようにする
Firebugでインデントつきのソースを書くのは厳しいことに気づいた。
ある程度長いプログラムを書くときはエディタでやろうと思い、エディタってどんなものがあるのかなーと調べたら、vimというのがかっこよかったので、インストールした。
さらに調べ、autocomplpop.vim - vimグループというものを見つけた。
JavaScriptではomni補完ができないので、辞書ファイルを用意したのだが、あまり賢くなかった。
ので、ソースをいじってJavaScriptでもomni補完をできるようにした。
vimには詳しくないので手探り。もっといい方法があるかも。
まず、autocomplpop.vimの371行目あたりに、
\ 'ruby' : [
という行があるので、その前の行に
\ 'javascript' : [ \ { \ 'command' : "\<C-n>", \ 'pattern' : '\k\k$', \ 'excluded' : '^$', \ 'repeat' : 0, \ }, \ { \ 'command' : "\<C-x>\<C-f>", \ 'pattern' : (has('win32') || has('win64') ? '\f[/\\]\f*$' : '\f[/]\f*$'), \ 'excluded' : '[*/\\][/\\]\f*$\|[^[:print:]]\f*$', \ 'repeat' : 1, \ }, \ { \ 'command' : "\<C-x>\<C-o>", \ 'pattern' : '\([^. \t]\.\)$', \ 'excluded' : '^$', \ 'repeat' : 0, \ }, \ ],
というのを追加した。
そしてvimを再起動。
できるようになった。やったあ。
追記:コメント欄を参考に、
_vimrcに
let g:AutoComplPop_Behavior={'javascript' : [ \ { \ 'command' : "\<C-n>", \ 'pattern' : '\k\k$', \ 'excluded' : '^$', \ 'repeat' : 0, \ }, \ { \ 'command' : "\<C-x>\<C-f>", \ 'pattern' : (has('win32') || has('win64') ? '\f[/\\]\f*$' : '\f[/]\f*$'), \ 'excluded' : '[*/\\][/\\]\f*$\|[^[:print:]]\f*$', \ 'repeat' : 1, \ }, \ { \ 'command' : "\<C-x>\<C-o>", \ 'pattern' : '\([^. \t]\.\)$', \ 'excluded' : '^$', \ 'repeat' : 0, \ }, \ ]}
とすれば、プラグイン直接いじらなくていいようだ。パターンの書き方悪いからポップアップしないときとかあるけど。