特に、初期化リストの表示は本当に悪いです:
vector<int> v({1,2,3});
中括弧が赤で強調表示されます(エラーを示します)。
http://www.vim.org/scripts/script.php?script_id=3797 のC++ 11スクリプトが追加され、括弧内の波括弧をエラーとしてマークしなくなりました。
代わりに、あなたは使うことができます
let c_no_curly_error=1
あなたの.vimrc
ファイルを追加して、vimがタグ付けしないようにします{}
のエラーとして()
。
Syntastic を使用する場合、これを。vimrc(または.vimrc.local)に追加します。
let g:syntastic_cpp_compiler_options = ' -std=c++11'
Syntasticは、複数の言語で記述されたコードのエラーを示します。各言語には、外部プログラムを実行するためのラッパーである「チェッカー」があります。 c ++チェッカーの外部プログラムはg ++です。 c ++チェッカーは、コンパイラオプションをg ++に渡し、構成することができます。
https://github.com/scrooloose/syntastic/wiki/C--:---gcc
Clang ++を使用する場合は、これらのオプションを使用できます
let g:syntastic_cpp_compiler = 'clang++'
let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'
古い()コンストラクタの代わりに統一された初期化を使用する
ベクトルv {1,2,3};
私の知る限り、そのための作業が進行中です。vim_devメーリングリストの here を参照してください。
C++ 11サポートの改善されたパッチがメーリングリストに送信されました: https://groups.google.com/forum/?fromgroups#!topic/vim_dev/ug_wmWQqyG
これをローカルのSyntastic構成ファイルで構成することもできます。
プロジェクトルートに.syntastic_cpp_config
ファイルをドロップし、コンパイラー引数を1行に1つずつ指定します(例として、Lokiライブラリーのインクルードパスも用意しています)。
-std=c++11
-Ilib/loki/include
-Ilib/loki_book/include
フラグのみを変更
flags = [
'-std=c++11',
'-O0',
'-Werror',
'-Weverything',
'-Wno-documentation',
'-Wno-deprecated-declarations',
'-Wno-disabled-macro-expansion',
'-Wno-float-equal',
'-Wno-c++98-compat',
'-Wno-c++98-compat-pedantic',
'-Wno-global-constructors',
'-Wno-exit-time-destructors',
'-Wno-missing-prototypes',
'-Wno-padded',
'-Wno-old-style-cast',
'-Wno-weak-vtables',
'-x',
'c++',
'-I',
'.',
'-isystem',
'/usr/include/',
]
私はVIMのC++ 11構文ファイルに関する他の提案を検索しましたが、それらは古くてメンテナンスされていません。とにかく、Vimの最近のディストリビューションにはすでに優れた構文ファイルがあります。構文ファイルの公式ソースはこちら: https://github.com/vim-jp/vim-cpp