web-dev-qa-db-ja.com

C ++用のVimの構成

VimをC++エディターにしたいと思います。私はそれを使った経験がほとんどなく、C++で動作するようにvimを構成するのに助けが必要です。次のような機能が必要です

  • コード補完(stlおよびクラス用)
  • .ccファイルと.hファイルの切り替え
  • c ++とvimの達人が持っているもう少しのトリックかもしれません。

いくつかの設定(説明付き)、またはチュートリアルへのリンク、利用できるプラグインを提供できますか?

103
Draco Ater

編集:2013年7月に更新

129
Thanh DK

私は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へ簡単に切り替えるには、 このプラグイン を試すことができます
8
icecrime

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

熱狂的なctags(vimは既にホットキーをネイティブにサポートしています) http://ctags.sourceforge.net/

タグリスト: http://vim-taglist.sourceforge.net/

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

オムニコンプリートは通常の^ n ^ pだけでは行いませんが、グーグルを検索するためのリソースはたくさんあります。

2
ThePosey