Я использую базовое автозаполнение в Vim вместе с плагином Autocomplpop , который автоматически показывает доступные завершения, когда я начинаю печатать. Как только я наберу достаточно, чтобы сузить список до слова, которое я хочу, я хотел бы иметь возможность нажать на вкладку, чтобы выбрать это завершение. С помощью приведенного ниже сценария требуется два нажатия вкладок вместо одного, и я не уверен, почему.
" Tab completion
" will insert tab at beginning of line,
" will use completion if not at beginning
set wildmode=list:longest,list:full
function! InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
inoremap <Tab> <c-r>=InsertTabWrapper()<cr>
inoremap <S-Tab> <c-n>