jigen, Hirotomo Kunimatsu
Tokyo, Japan
mailto: microformat hcard
top

vim7でomni補完をTabで実行

(写真):vim7でomni補完をTabで実行vim7がリリースされ、使っているうちにだんだんとvim7じゃないと辛い身体になりつつあります。omni補完(omni-completion)とタブ表示が便利。

(写真):omni補完omni補完はある程度入力すると左のような候補リストが出てきてその候補から選んでいくと言うもの。右の例ではPHPのソースを「str」と打ってからomni補完を起動している(str_replaceとか表示されてる)。

omni補完は入力モード中にある程度入力してから「Ctrl-x」をしてから「Ctrl-o」をすると起動できる。さてその起動を「Tab」キーをクリックするだけで表示させようというTipsの紹介です。

スポンサードリンク

以下のようなコードをvimrcやgvimrcで設定すると実現可能らしい。うーんshellチック。ステキ。

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>

スポンサードリンク

関連エントリー

よろしければ、以下リンクよりコメントをどうぞ。
2006/11/29 18:13:49200618:13
アリ「ここからメニューだすよ」
アリ「ごちそういっぱーい」
アリ「腹へったー」
アリ「働けー働けー♪」