it-swarm.com.ru

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

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

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

221
diegocstn

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

Редактирование 2015: я лично использую YouCompleteMe сейчас.

119
michaelmichael

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

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

376
Orbit

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

9
ernix

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

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

6
Nishant

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

 enter image description here

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

5
Parker Ault

Если вы используете VIM версии 8+, просто введите Ctrl + n или Ctrl + p.

3
Ângelo Polotto

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

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

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

3
sp3ctum

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

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

1
tning

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

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

Спасибо Oseems Solutions за учебник

1
Brian Kenya

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

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

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

0
Matthieu