Заставьте неоконченную работу, как AutoComplPop
После многих сбоев с AutoComplPop я переключился на neocomplete. Я уже нашел let g:neocomplete#enable_auto_select = 1
опция, которая выбирает первое предложение neocomplete, когда вы нажимаете return, как AutoComplPop.
Но я не могу понять, как сделать следующее:
Допустим, я хочу выбрать 3-е предложение, поэтому я
<C-n>
дважды, чтобы выделить его. С AutoComplPop я теперь мог нажать клавишу возврата, и текущее выделенное предложение будет выделено, и окно предложения будет закрыто, без вставки новой строки. С neocomplete вставляется символ новой строки. Я понимаю, что могу просто нажать пробел и продолжать печатать, но я хочу<CR>
поведение, чтобы быть последовательным, выбираю ли я первое предложение или другое. В противном случае мышечная память приводит к ошибкам.Как получить предложения из всех буферов, а не только из текущего?
Могу ли я использовать neocomplete с плагинами intelli-sense, такими как vim-ruby, чтобы дополнения, скажем,
String
объект показывает только строковые методы?Я хотел бы, чтобы каждое завершение было добавлено как отдельная запись в историю отмен, чтобы я мог
u
отменить завершение. Это возможно?
1 ответ
Я полагаю, что вы хотите получить ответ на вопрос №1:
function! s:close_popup_and_complete()
return pumvisible() ? neocomplete#close_popup() : "\<CR>"
endfunction
" <CR>: close popup and save indent.
inoremap <silent> <CR> <C-r>=<SID>close_popup_and_complete()<CR>
На вопрос № 2 я считаю, что поведение было ошибкой и с тех пор было исправлено.