Vim C++, автоматический завершенный

Как я включаю автоматическое завершение в Vim?

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


Править

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

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

строка 24:

E10: \должен сопровождаться/? или и

8
задан Amir Rachum 11 August 2010 в 12:58
поделиться

2 ответа

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

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
ответ дан 5 December 2019 в 17:32
поделиться

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

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

4
ответ дан 5 December 2019 в 17:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: