2010-01-31 19 views
6

完成尝试后,omnicppcomplete将在弹出菜单中显示所有可能的项目。要选择菜单中的某个项目,应使用<C-N><C-p>在不同项目之间来回切换。我觉得这很不方便。如果jk可以用来代替<C-N><C-P>应该是非常酷的。所以我应该怎么做?如何在vim中映射弹出菜单的按键

+3

只是一个建议。映射j和k将不允许完成带有j和k字符的单词。你可能想要使用。 ctrl-j和ctrl-k或类似的。 – michael 2010-01-31 01:33:39

回答

8
​​
1

我更喜欢使用完成tab键(我不知道在那里我得到这个从):

"tab complete 
function! InsertTabWrapper(direction) 
    let col = col('.') - 1 
    if !col || getline('.')[col - 1] !~ '\k' 
     return "\<tab>" 
    elseif "backward" == a:direction 
     return "\<c-p>" 
    else 
     return "\<c-n>" 
    endif 
endfunction 
inoremap <tab> <c-r>=InsertTabWrapper ("forward")<cr> 
inoremap <s-tab> <c-r>=InsertTabWrapper ("backward")<cr>