
In vim kann ich die passende if
Anweisung finden und das entsprechende Kommentarsymbol voranstellen (z. B. %s/).Alarm./#\0/g), aber dann habe ich noch unzusammenhängende endif
s, die ich manuell finden muss. Ich könnte den Vorgang mithilfe eines Makros vereinfachen, aber könnte ich dies auch mit sed
(genauer gesagt einem in vim) erreichen?
Antwort1
Das Problem bei einem einfachen regulären Ausdruck ist der Umgang mit verschachtelten Bedingungen; Sie können nicht einfach nach dem nächsten suchen endif
und es auskommentieren. Glücklicherweise ist derPass Es anDas mit Vim gelieferte Plugin hat dieses Problem gelöst (für viele Dateitypen); wenn Sie sich auf befinden if
, gelangen Sie über die %
Zuordnung zum entsprechenden endif
.
Kombinieren Sie das mit einem Plugin wieNERDCommentator, und Sie können ganz einfach eine Zuordnung dafür erstellen:
:nmap <Leader>cif <Leader>cc%<Leader>cc