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


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

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

9 192

9 ответов:

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

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

использовать Ctrl -N чтобы получить список предложений слов в режиме вставки. Типа :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 лет лет и начал давать Oni тест-драйв несколько недель назад, и хотя у него есть некоторые ошибки здесь и там, он не встал на моем пути. Я настоятельно рекомендую его новым пользователям 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 Если кто-то заинтересован. Конечно, падаван является частью этого.