Vim C ++ автозаполнение - PullRequest
       6

Vim C ++ автозаполнение

8 голосов
/ 11 августа 2010

Как включить автозаполнение в Vim?

Я пытался сделать это, но я не разбираюсь в файле vimrc и т. Д., Так что это не сработало.Можете ли вы дать мне пошаговые инструкции, как это сделать?


Редактировать

Я пытался установить OmniCppComplete.Следуя инструкциям, но когда я пытаюсь использовать его, я получаю следующую ошибку:

Обнаружена ошибка при обработке функции omni # cpp # complete # Main..24_InitComplete:

строка 24:

E10: \ следует после /,?или &

Ответы [ 3 ]

4 голосов
/ 11 августа 2010

Vim по умолчанию выполняет завершение на основе слов в файле, используя Ctrl-N или Ctrl-P, что удобно для недавно указанных локальных переменных и т. Д., И работает для кода на любом языке или даже обычном тексте (удобно для сложного завершения по буквам имена). Однако он не делает это семантически или со ссылкой на то, какие фактические типы вам разрешены в конкретном контексте, который вы пишете. Для этого вам нужно установить ctags , а затем в / usr / include тип:

ctags -f ~/.vim/stdtags -R --c++-kinds=+p --fields=+iaS --extra=+q .

А затем добавьте это в свой .vimrc:

set nocp
filetype plugin on
map <C-L> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR>

set tags=~/.vim/stdtags,tags,.tags,../tags

autocmd InsertLeave * if pumvisible() == 0|pclose|endif

Это также заставит Ctrl-L перезагружать теги и, таким образом, будет выбирать новые теги автозаполнения из текущего каталога.

4 голосов
/ 11 августа 2010

Подробные инструкции Автозаполнение (archive.org) Введите первые несколько символов и нажмите Ctrl-> P (для поиска назад) или Ctrl-> N (для поиска вперед), перечислите все доступные варианты или завершает его.

Я использую vim7.2 (автозаполнение было введено в vim7), и эти элементы управления работают просто отлично.

2 голосов
/ 22 ноября 2012

Мой фаворит - clang_complete здесь .Его очень легко установить, и конфигурация по умолчанию в документе ReadMe работает хорошо.Вам не нужно генерировать теги, он автоматически показывает полные параметры, когда они доступны.Он также может выделить синтаксические ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...