Использование VIM для разработки С++/Qt с автозаполнением

На работе я в основном программирую на С++, и когда он должен быть включенным графическим/многопоточным/сетевым, используйте Qt. Наша среда - это окна, и я в настоящее время программирую с помощью комбинации Visual Studio (только для целей отладки) и Qt-Creator для реального кодирования (например, их автозаполнение лучше, чем VS).

В основном я использую linux (fedora) и все еще использую Qt-Creator, поскольку я не нашел альтернативы. Я использую VIM для всего остального (редактор мудрый) и в основном ЛЮБЛЮ все об этом.

Я хочу иметь возможность использовать VIM для моего программирования (как дома, так и в работе), но считаю, что я не так продуктивен без автозаполнения.

У кого-нибудь есть хороший учебник, сообщение на форуме или личный опыт о том, как получить "хороший" автозаполнение (да... не совсем очень описательный... "хороший"...) для С++ и Qt в VIM? Я считаю, что это очень удобно для linux/vim/qt/С++, но также возможно для окон?

Спасибо

Ответ 1

Взгляните на это: http://vim.wikia.com/wiki/VimTip1608
Боль для настройки, но в конце концов вы получите VS-подобную автозаполнение + все вкусные вещи omnicompletion, такие как Ctrl-P, чтобы завершить слово, Ctrl-X-Ctrl-L, чтобы завершить линию и т.д.

Ответ 2

Я не думаю, что у меня есть какие-то волшебные настройки в моем vimrc, который позволяет это, но я могу только начать вводить текст, а затем (пока все еще находится в режиме вставки) нажмите Ctrl+N, чтобы vim предлагал завершение. Кажется, проверять открытые буферы для возможных завершений. Это не идеально, но в 98% случаев он делает то, что я хочу, и нет необходимости в настройке.

Ответ 3

Возможно, вам стоит взглянуть на OmniCpp.

Это набор Vim-скриптов, который включает автозаполнение на основе c-тегов.

Не так просто настроить, но работает довольно хорошо после этого. В основном вам нужно сгенерировать c-теги для файлов include, которые вы используете. Затем плагин интегрируется в Vim, чтобы завершить то, что вы набираете, в зависимости от типа переменных.