Вкладка «Сопоставление» для Omicompletion в GVim - PullRequest
1 голос
/ 13 января 2010

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>

КОД:

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

1 Ответ

2 голосов
/ 13 января 2010

Однажды я нашел это (вероятно, на 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>

И это работает как шарм.

...