2011-01-25 3 views
10

Рассмотрим scenerio, когда я набранный:Vim всенаправленный завершение: продолжить ввод, чтобы выбрать нужный пункт

file.f 

Когда я типа Ctrl-XCtrl-O всенаправленный завершение всплывающее окно отображается и выбирается первый элемент. Это то, что я вижу:

file.fileno 
     --------- 
     fileno() <-- highlighted 
     flush() 
     --------- 

Обратите внимание, что текст, который я набрал («file.f») уже изменен:

file.fileno 

я могу переместить выделение вниз в списке " заподлицо», нажмите кнопку ENTER, и он будет в конечном итоге с

f.flush() 

Но я хотел бы продолжить ввод требуемого имени метода вместо использования клавиш со стрелками. То есть Я хотел бы напечатать "file.f", "Ctrl-X Ctrl-O", "л" и получить либо возможно

file.fileno 
     --------- 
     flush() 
     --------- 

или

file.fileno 
     --------- 
     fileno() 
     flush() <-- highlighted 
     --------- 

ли это? Может быть, некоторые изменения omni-завершения должны быть изменены или я должен использовать другую комбинацию клавиш вместо Ctrl-XCtrl-O?

ответ

14

Добавить: set completeopt+=longest в файл .vimrc.

Это будет означать, что omnicomplete будет содержать только самый длинный общий текст всех совпадений.

Для получения дополнительной информации запустите команду :help completeopt, находясь в vim.

+5

Другой способ - нажать CTRL + P и набрать еще текст. – alex2k8

+0

отличный совет, спасибо – clime

Смежные вопросы