Sto usando il set matchpairs+=<:>mio codice C ++ e funziona benissimo. Ma ci sono alcuni casi in cui non è del tutto lì, come questo codice C ++:
#include <type_traits>
template<int X> typename std::enable_if<(X>9),int>::type func() { return 5; }
int main() { func<10>(); }
Qui, se si mette il cursore sul <dopo enable_if, l' >in X>9verrà evidenziato. Naturalmente ha senso dal punto di vista di Vim, che non è un compilatore C ++ né un IDE. Ma esiste un modo semplice per far sì che non corrisponda alle coppie spezzate da parentesi non chiuse? Cioè mi piacerebbe <()>abbinare la parentesi angolare di chiusura, e <(>)non.