10.5: Vim7 -Omni completion は便利!!

LeopardになってVimが新しくなってVim7になってました。新機能を見るには’:help?version7’とすれば英文でズラズラッと表示されます。英文なんで所々しかわかんない。ググってみるとヘルプドキュメントを和訳してくれているページを発見したんで、なんとか概要をつかめた次第です。
で、目を引いたのがOmni補完機能。bashの補完機能によく似ている。ただ、’c-x?c-o’としなくちゃならないのがちょっと気に入らない。補完と云えばTabキーだという習慣があるので、こちらを参考にTabキーで使えるようにしました。

"omni mapping
function InsertTabWrapper()
    if pumvisible()
        return "\<c-n>"
    endif
    let col = col('.') - 1
    if !col || getline('.')[col - 1] !~ '\k\|<\|/'
        return "\<tab>"
    elseif exists('&omnifunc') && &omnifunc == ''
        return "\<c-n>"
    else
        return "\<c-x>\<c-o>"
    endif
endfunction
inoremap <tab> <c-r>=InsertTabWrapper()<cr>

使いこなせばVimは強力なテキストエディタなんですがなかなか仲良くなれません。そのうち心を開いてくれるといいんだけど…。
(追記:2007−11−09)
こちらのvimrcもいいですね。しばらくそのまま利用してみよう。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です