Автозаполнение в Vim

После долгого "обучения" я, наконец, перешел на Vim; но у меня есть некоторые проблемы с автозаполнением. Как я могу получить предложение кода во время ввода?

Я обычно разрабатываю PHP, Ruby, HTML, C и CSS.

Ответ 1

Вы можете использовать плагин, например AutoComplPop, чтобы получить автоматическое завершение кода при вводе.

2015 Edit: Я лично использую YouCompleteMe.

Ответ 2

Используйте Ctrl - N, чтобы получить список предложений слов в режиме вставки. Введите :help i_CTRL-N, чтобы увидеть документацию Vim по этой функции.

Здесь приведен пример импорта словаря Python в Vim.

Ответ 3

Вы можете начать со встроенного параметра omnifunc.

Просто поставьте:

filetype plugin on
au FileType php setl ofu=phpcomplete#CompletePHP
au FileType ruby,eruby setl ofu=rubycomplete#Complete
au FileType html,xhtml setl ofu=htmlcomplete#CompleteTags
au FileType c setl ofu=ccomplete#CompleteCpp
au FileType css setl ofu=csscomplete#CompleteCSS

в нижней части вашего .vimrc, затем введите <Ctrl-X><Ctrl-O> в режиме вставки.

Я всегда полагаюсь на это завершение CSS.

Ответ 4

Существует также https://github.com/Valloric/YouCompleteMe, и он включает такие вещи, как джедай, а также имеет нечеткое совпадение. До сих пор я считал YCM самым быстрым среди того, что я пробовал.

Изменить: существуют также такие новые, как https://github.com/maralla/completor.vim

Ответ 5

Я использовал neocomplcache в течение примерно полугода. Это плагин, который собирает кеш слов во всех ваших буферах, а затем предоставляет их для автоматического завершения.

В предыдущей ссылке есть массив скриншотов на странице проекта. В Neocomplcache также есть тонна опций конфигурации, из которых также есть основные примеры на странице проекта.

Если вам нужна дополнительная глубина, вы можете посмотреть соответствующий раздел в vimrc - просто найдите слово neocomplcache.

Ответ 6

Недавно я обнаружил проект под названием OniVim, который является электронным интерфейсом для NeoVim, который поставляется с очень красивой автозаполнением для нескольких языков из коробки, и поскольку это в основном просто обертка вокруг NeoVim, у вас есть полная сила vim в вашем распоряжении, если графический интерфейс не отвечает вашим потребностям. Он все еще находится на раннем этапе развития, но он быстро улучшается, и вокруг него действительно активно работает сообщество. Я использую vim более 10 лет и начал давать Oni тест-драйв несколько недель назад, и хотя у него есть некоторые ошибки здесь и там, он не мешал мне. Я бы настоятельно рекомендовал его новым пользователям vim, которые все еще получают свои vim-пальцы!

enter image description here

OniVim: https://www.onivim.io/

Ответ 7

Вот ссылка . для PHP.

нажмите Ctrl + x, а затем клавиши Ctrl + o, при написании некоторых функций PHP.

Благодаря Oseems Solutions для учебника

Ответ 8

Если вы хотите только автозаполнение из кеша ваших текущих буферов, supertab проще установить, чем neocomplete, может работать на Mac предварительно установленном vim из коробки без необходимости использования MacVim.

Вы можете проверить другие альтернативы на vim awesome.

Ответ 9

Для PHP, Padawan с Deoplete - отличные решения для надежной автозаполнения PHP в Neovim. Я пробовал много вещей, и падаван работал как шарм!

Для Vim вы можете использовать Neocomplete вместо Deoplete.

Я написал статью о том, как сделать Vim PHP IDE, если кому-то это интересно. Конечно, Падаван является его частью.