2009-05-05 2 views

Antwort

4

vim erfordert Backslashing + (oder stattdessen *). Außerdem müssen Sie die umgekehrte Schrägstrichgruppierung in vim gruppieren. Also:

:%s/\/\*\!\d\+\(.*\)\*\//\1/g 

Ja, vim alten Stil Posix Regexes saugen:/

Edit: Wie weiter unten in den Kommentaren erwähnt, + wenn als \ + entging nicht funktioniert. Und \ d wird tatsächlich unterstützt, oops. Bearbeitet das Beispiel regex, um dies zu korrigieren. Siehe auch Brian Carpers Beispiel für eine prägnantere und lesbarere Version.

+3

vim Unterstützung + tut, können Sie es nur entkommen müssen "\ +" –

+0

Anscheinend es tut. Genial. Ich möchte immer noch ein PCRE-for-vim-Plugin :) – bdonlan

+0

Nur meine Antwort gelöscht: es stellt sich heraus, ich weiß nicht genug über die Regex-Support-Details in Vim;) – VonC

4

Verwenden Sie "sehr magisch" und verwenden Sie andere Trennzeichen als die Standardeinstellung, um das Lesen (und Merken) zu erleichtern.

:%[email protected]\v/\*!\d+(.*)\*/@\[email protected] 

Ohne „sehr Magie“ Sie haben einen umgekehrten Schrägstrich vor + setzen und () (aber nicht vor * oder einige andere Dinge). Es ist nicht sehr konsistent.

1

Etwas anders und effizienter mit [^ *] + :-)

1,$s/\v\/\*\!\d+\s*([^*]+)\*\//\1