Как показать список автозаполнения omnicomplete без автозаполнения текущего текста

Я учусь VIM с полным набором. Мне интересно, смогу ли я показать список неполного заполнения без автозаполнения текущего текста. Например,

Если я наберу "str.c", а затем вызову omnicomplete, он покажет список, содержащий возможные слова, начинающиеся с "c", и автоматически завершит текущий текст, скажем "capitalize".

Если, например, метод, который я ищу, это count, мне нужно прокрутить весь список вниз, чтобы найти его, или удалить часть "apitalize", а затем набрать o и т. Д. Можно ли просто показать list, так что, если я вызову его после c, он покажет список без автозаполнения, чтобы использовать заглавные буквы? Например, что-то вроде ниже, где я все еще могу набрать o, чтобы быстро перейти к подсчету

3 ответа

Решение

Благодаря комментарию @romainl я посмотрел completeopt и обнаружил, что всплывающее меню завершения выполнения Vim работает так же, как в IDE. У него есть куча других связанных советов. Чтобы сделать поведение, как описано в вопросе,

:set completeopt=longest,menuone

Кроме того, вы можете нажать <C-P> сразу после <C-X><C-O> чтобы вернуться к тому, что вы ввели, оставив меню завершения открытым.

Проверять, выписываться :h ins-completion-menu для дополнительной информации.

Вы также можете просто придерживаться базовой функциональности vim и использовать C-e в процессе завершения vim удалите список и вернитесь к точке, в которой вы инициировали завершение.

Я думаю, что изначально проблема заключалась в отсутствии noinsert в completeopt вариант.

Другие вопросы по тегам