Автодополнение в Vim

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

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

9 ответов


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

2015 Edit: я лично использую YouCompleteMe сейчас.


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

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


вы можете начать со встроенного 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.


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

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


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

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

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


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

enter image description here

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


здесь ссылке! для PHP.

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

благодаря решениям Oseems для учебника


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

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


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

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

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