web-dev-qa-db-ja.com

vim用のC ++ 11構文ファイルはありますか?

特に、初期化リストの表示は本当に悪いです:

vector<int> v({1,2,3});

中括弧が赤で強調表示されます(エラーを示します)。

65
Neil G

http://www.vim.org/scripts/script.php?script_id=3797 のC++ 11スクリプトが追加され、括弧内の波括弧をエラーとしてマークしなくなりました。

32
kennytm

代わりに、あなたは使うことができます

let c_no_curly_error=1

あなたの.vimrcファイルを追加して、vimがタグ付けしないようにします{}のエラーとして()

34
thrust

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++'
25
Chad Skeeters

古い()コンストラクタの代わりに統一された初期化を使用する

ベクトルv {1,2,3};

9
Keke

私の知る限り、そのための作業が進行中です。vim_devメーリングリストの here を参照してください。

6
Tarantula

C++ 11サポートの改善されたパッチがメーリングリストに送信されました: https://groups.google.com/forum/?fromgroups#!topic/vim_dev/ug_wmWQqyG

4
Ricardo

これをローカルのSyntastic構成ファイルで構成することもできます。

プロジェクトルートに.syntastic_cpp_configファイルをドロップし、コンパイラー引数を1行に1つずつ指定します(例として、Lokiライブラリーのインクルードパスも用意しています)。

-std=c++11
-Ilib/loki/include
-Ilib/loki_book/include
1
LostSalad

YouCompleteMeを使用する場合は、「。ycm_extra_conf.py」を次のように変更できます。(ファイルパス〜/ .vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py)

フラグのみを変更

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/', 

]

1
MulticsYin

私はVIMのC++ 11構文ファイルに関する他の提案を検索しましたが、それらは古くてメンテナンスされていません。とにかく、Vimの最近のディストリビューションにはすでに優れた構文ファイルがあります。構文ファイルの公式ソースはこちら: https://github.com/vim-jp/vim-cpp

0
Rado