Je voudrais créer un motif de match pour une accolade d'ouverture qui ne suit pas l'un de ces modèles:Comment rendre vim highlight {any non suivi d'un commentaire de style C++ ou de deux retours à la ligne?
{\n\n
{\s*\/\/.*\n\(\s*\/\/.*\)\?\n
Le problème plus général met en avant les violations d'un codage spécification au travail, qui applique une ligne vide suivant {
Clarification, je cherche ceci pour attraper le code comme suit :
if (foo) {
this_is_bad____no_blank_line_above();
} else {this_is_worse();}
while (1) { //This comment is allowed
//This one too
theres_nothing_wrong_with_this();
}
if (foo) {
....//<-- Ideally we could mark this as bad, due to the spaces here
otherwise_perfectly_good();
}
Ce que je vraiment besoin est: {\(\n\n\|\s*\/\/.*\n\(\s*\/\/.*\)\?\n\)\!
Lorsque le symbole maquillé \!
signifie « ne correspond pas à l'une de ces deux options ». Je vois une façon de le faire pour les caractères individuels, mais pas pour une chaîne plus longue.
Hmm ... clarifier quelques exemples de ce qui devrait être pris par cela. – jkerian