Estoy usando set matchpairs+=<:>
mi código C ++, y funciona muy bien. Pero hay algunos casos en los que no está del todo allí, 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>(); }
En este caso, si se pone el cursor en el <
después enable_if
, el >
de X>9
se resaltará. Por supuesto, tiene sentido desde la perspectiva de Vim, que no es un compilador de C ++ ni un IDE. Pero, ¿hay alguna manera fácil de hacer que no coincida con pares rotos por paréntesis no cerrados? Es decir, me gustaría <()>
hacer coincidir el soporte angular de cierre, y <(>)
no.
delimiter-matching
Ruslan
fuente
fuente
Respuestas:
matchit
probablemente no hará esto por ti. Probablemente desee escribir una función de contenedor pequeña para%
, que identifica el carácter debajo de su cursor con:seguido de un par de pruebas simples anidadas de manera que:
lo que significa, obtener secuencias de comandos en vim ...
Háganos saber cómo va esto.
fuente