Ответ 1
Команда, которую вы ищете, это:
:set completeopt+=longest
Он вставляет самый длинный общий префикс всех предложений, затем вы можете вводить и удалять, чтобы сузить или развернуть результаты.
Omnicompletion работает, но он автоматически вставляет первый результат.
То, что я хотел бы сделать, - открыть меню omnicomplete, затем ввести тип, чтобы сузить результаты, затем нажать ввод или вкладку или пробел или что-то, чтобы вставить выбранный пункт меню.
Возможно ли это?
Команда, которую вы ищете, это:
:set completeopt+=longest
Он вставляет самый длинный общий префикс всех предложений, затем вы можете вводить и удалять, чтобы сузить или развернуть результаты.
set wildmenu
set wildmode=list:longest,full
Нашел здесь. Существует также большой плагин для всех ваших потребностей в завершении, называемый SuperTab продолжается.
Этот плагин может делать то, что вам нужно: autocomplpop
Или вы можете попробовать сделать всплывающее меню завершения Vim работать так же, как в среде IDE.
Это общее поведение завершения Vim. Для полного обзора вы можете сделать
:he compl-current
Но для вашего конкретного случая (которому требуется, чтобы завершение было в состоянии 2 или 3 (описано в документе выше). Вы можете просто использовать Backspace или Control-H, чтобы перейти от состояния к состоянию 2. В состоянии 2 вы можете сузить поиск, набрав регулярные символы. Таким образом, чтобы завершить выполнение с сужением:
compl<C-X><C-P><BS>letion
Это полностью назад, я знаю, но как это работает.
Изменить: вы можете использовать клавишу со стрелкой вниз, также isntead Control-H или Backspace, и она имеет преимущество не для удаления символа.