コンパイルエラー
# include <vector>
...
std::vector<std::vector<int>> hoge;
これを書くと
error: '>>' should be '> >' within a nested template argument list
こんなコンパイルエラーが出る。>> と > >は違うって意味ですね。
clang-format
じゃあ、スペースを入れようとするとどうなるかというと、clang-formatによってスペースが消されます。clang-formatを掛けなければ良い話ではあるのですが、私はC++のコードを書くときはclang-formatを保存時に自動で動かすようにしているのでわざわざそれをするのは嫌です。
解決策
clang-formatの-styleオプションに{SpacesInAngles: true}を指定すれば良い。すると、
# include <vector>
...
std::vector< std::vector< int > > hoge;
こうなる。
解決!