Справка по настройке Vim для С++

Я хочу сделать vim моим С++-редактором. У меня очень небольшой опыт работы с ним и вам нужна помощь в настройке vim для работы с С++. Мне нужны такие функции, как

  • code-complete (для stl и для моих классов)
  • переключение между .cc и .h файлами
  • может быть еще несколько трюков, которые вы, С++ и vim гуру, имеете.

Может быть, вы могли бы предоставить некоторые конфиги (с пояснениями) или ссылки на учебные пособия, плагины, которые я мог бы использовать?

Ответ 1

Изменить: Обновлено с июля 2013 года

Ответ 2

Я использую vim в качестве моего редактора С++, но я не использую много "экзотических" вещей.

  • Что касается завершения, я использую неконтекстные ^P и ^N.
  • У меня есть куча пользовательских сокращений для моего использования на С++, например:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
    
  • У меня есть несколько функций для "фрагментов кода", например, таких как:

    function! IncludeGuard()
      let basename = expand("%:t:r")
      let includeGuard = '__' . basename . '_h__'
      call append(0, "#ifndef " . includeGuard)
      call append(1, "#define " . includeGuard)
      call append(line("$"), "#endif /* !" . includeGuard . " */")
    endfunction
    
  • Единственный плагин, с которым я действительно не мог жить без Command-T (для которого требуется поддержка ruby)

    /li >
  • Для удобства .cc to .h вы можете попробовать этот плагин