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

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

224 голосов
/ 02 марта 2011

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

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

Ответы [ 10 ]

382 голосов
/ 02 марта 2011

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

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

130 голосов
/ 02 марта 2011

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

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

9 голосов
/ 06 мая 2013

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

6 голосов
/ 26 июня 2014

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

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

5 голосов
/ 25 марта 2018

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

enter image description here

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

4 голосов
/ 08 марта 2019

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

3 голосов
/ 02 мая 2012

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

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

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

1 голос
/ 23 декабря 2015

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

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

1 голос
/ 23 мая 2014

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

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

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

0 голосов
/ 04 декабря 2017

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

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

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

...