Configuring Vim for C++

后端 未结 3 1353
清歌不尽
清歌不尽 2020-12-04 04:13

I would like to make vim my C++ editor. I have very little experience working with it and need help in configuring vim to work with C++. I need such features as

相关标签:
3条回答
  • 2020-12-04 04:47

    I'm using vim as my C++ editor, however I'm not using many 'exotic' stuff.

    • Regarding completion, I'm using the non-contextual ^P and ^N.
    • I have a bunch of user defined abbreviations for my C++ use, for example :

      abbreviate bptr boost::shared_ptr
      abbreviate cstr const std::string &
      
    • I have several functions for "code snippets" like things, for example :

      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
      
    • The only plugin I really couldn't live without is Command-T (which requires ruby support)

    • For easy .cc to .h switching, you can try this plugin
    0 讨论(0)
  • 2020-12-04 04:48
    • Code complete: Omni completion or Clang autocomplete or YouCompleteMe
    • Real time syntax checking: Syntastic
    • Switching between source and header file: A plugin
    • Snippets: Snipmate or UltiSnip
    • Search for reference of variables, functions, classes, etc.: Cscope
    • Go to definition: Ctags or part of YouCompleteMe subcommands mentioned above
    • Refactoring tools: Refactor, lh-refactor
    • Useful text objects: Arg text object and Class text object
    • C++ category in Vim Tips wiki
    • Luc Hermitte's C/C++ plugin
    • Not C++ specific but I also recommend either FuzzyFinder or Command-T or Unite for file navigation. With either of these, you don't even need tabs (which does not scale for 10+ files) to manage your project.
    • Class navigation: Taglist or Tagbar

    Edit: Updated as of July 2013

    0 讨论(0)
  • 2020-12-04 04:50

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

    Exuberant ctags (vim already supports the hotkeys natively) http://ctags.sourceforge.net/

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

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

    I don't do omnicompletion just the usual ^n ^p stuff but there are plenty of resources to google for.

    0 讨论(0)
提交回复
热议问题