Настройка Vim для C ++ - PullRequest
       24

Настройка Vim для C ++

103 голосов
/ 21 ноября 2010

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

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

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

Ответы [ 3 ]

128 голосов
/ 21 ноября 2010

Редактировать: Обновлено с июля 2013 года

8 голосов
/ 21 ноября 2010

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

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

    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)

  • Для простого переключения .cc на .h, вы можете попробовать этот плагин
2 голосов
/ 21 ноября 2010

NERDTree http://www.vim.org/scripts/script.php?script_id=1658

Exuberant ctags (vim уже изначально поддерживает горячие клавиши) http://ctags.sourceforge.net/

taglist: http://vim -taglist.sourceforge.net /

фрагмент: http://www.vim.org/scripts/script.php?script_id=2540

Я не делаю омполнение просто обычным материалом ^ n ^ p, но есть много ресурсов для поиска в Google.

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