Pomoc W Konfiguracji Vima Dla C++

Chciałbym, aby vim był moim edytorem c++. Mam bardzo małe doświadczenie w pracy z nim i potrzebujesz pomocy w skonfigurowaniu Vima do pracy z c++. Potrzebuję takich funkcji jak

  • code-complete (dla stl i dla moich klas)
  • przełączanie pomiędzy .cc i .pliki h
  • może być jeszcze kilka sztuczek, które ty, Guru c++ i vim, masz.

Może mógłbyś podać jakieś konfiguracje (z wyjaśnieniami), lub linki do tutoriali, wtyczek, z których mógłbym skorzystać?

Author: Draco Ater, 2010-11-21

3 answers

Edycja: aktualizacja na Lipiec 2013

 121
Author: Thanh DK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-16 17:22:21

Używam vim jako mojego edytora C++, jednak nie używam wielu "egzotycznych" rzeczy.

  • jeśli chodzi o dopełnienie, używam kontekstowych ^P i ^N.
  • Mam kilka skrótów zdefiniowanych przez użytkownika dla mojego C++, na przykład:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
    
  • Mam kilka funkcji do "fragmentów kodu", takich jak rzeczy, na przykład:

    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
    
  • Jedyną wtyczką, bez której nie mógłbym żyć, jest Command-T (która wymaga Rubiego wsparcie)

  • dla łatwego .cc do .h przełączania, możesz wypróbować ten plugin
 8
Author: icecrime,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-21 12:46:35

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

Exuberant ctags (vim obsługuje już natywnie skróty klawiszowe) http://ctags.sourceforge.net/

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

Snipmate: http://www.vim.org/scripts/script.php?script_id=2540

Nie robię omnicompletion tylko zwykłe ^n ^ P rzeczy, ale jest mnóstwo zasobów do wygooglowania.

 2
Author: ThePosey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-21 14:17:57