将选项卡映射到GVim中的Omicompletion

时间:2010-01-13 08:48:28

标签: vim autocomplete mapping

Omnicompletion工作按<C-X><C-O>会显示下拉列表。 我想将其映射为<S-Tab> <C-X><C-O>,但首先我要将其测试为:<C-F5> <C-X><C-O>. 它确实完成了这个词,但是下拉列表没有显示出来。 (插件SuperTab也是如此)。

有什么建议吗?

编辑 可行,例如inoremap <S-F5> <C-X><C-O>,但它不能像inoremap <Tab> <C-X><C-O> or <TAB> <C-X><C-O>

那样工作

CODE:

" autocomplete using tab
imap <C-F5> <C-X><C-O> 

1 个答案:

答案 0 :(得分:2)

有一天,我发现了这个(可能是在vim.org上):

fu! InsertTabWrapper(direction)
  let char_before = col('.') - 1
  if !char_before || getline('.')[char_before - 1] !~ '\k'
    return "\<tab>"
  elseif "backward" == a:direction
    return "\<c-p>"
  else
    return "\<c-n>"
  endif
endfu

inoremap <tab> <c-r>=InsertTabWrapper("forward")<cr>
inoremap <s-tab> <c-r>=InsertTabWrapper("backward")<cr>

它就像一个魅力。