Estou usando o set matchpairs+=<:>
meu código C ++ e funciona muito bem. Mas há alguns casos em que não existe, como este código C ++:
#include <type_traits>
template<int X> typename std::enable_if<(X>9),int>::type func() { return 5; }
int main() { func<10>(); }
Aqui, se você colocar o cursor no <
depois enable_if
, o >
in X>9
será destacado. É claro que faz sentido da perspectiva do Vim, que não é um compilador C ++ nem um IDE. Mas existe alguma maneira fácil de fazer com que ele não corresponda a pares quebrados por parênteses não fechados? Ou seja, eu gostaria <()>
de combinar o colchete angular de fechamento, e <(>)
não.
delimiter-matching
Ruslan
fonte
fonte
Respostas:
matchit
provavelmente não fará isso por você. Você provavelmente deseja escrever uma pequena função de wrapper%
, que identifique o caractere sob o cursor com:seguido por alguns testes aninhados simples, tais como:
o que significa obter scripts no vim ...
Deixe-nos saber como isso acontece.
fonte