Vim omni complete: продолжайте набирать, чтобы выбрать нужный элемент

Считайте scenerio, когда я набрал:

file.f

Когда я набираю Ctrl-X Ctrl-O, отображается всплывающее сообщение omni-completion и выбирается первый элемент. Вот что я вижу:

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

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

file.fileno

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

f.flush()

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

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

или

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

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

Ответ 1

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

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

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