Als «substitute» getaggte Fragen

Jede Operation, bei der Text durch reguläre Ausdrücke ersetzt wird, z. B. der Befehl `: s` im Ex-Modus. Nicht zu verwechseln mit dem Tag [replace].


11
Ersetzen Sie das zweite Vorkommen online
Ich habe eine Liste von Dateien: ./a.temp.txt ./a.temp.txt ./a/b.temp.txt ./a/b.temp.txt ./a/b/c.temp.txt ./a/b/c.temp.txt Und ich möchte das temp.in jeder Zeile entfernen , aber nur das zweite Vorkommen , daher sollte die Datei so aussehen: ./a.temp.txt ./a.txt ./a/b.temp.txt ./a/b.txt ./a/b/c.temp.txt ./a/b/c.txt Wie soll ich das machen?

3
Ersetzen Sie durch reines Vimscript (ohne `: s`)
Ich habe folgendes in meinem vimrc: func! AddSpaceBeforeEqual() s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge endfunc Ich benutze vint, um mein vimrc zu fusseln, und habe die folgende Warnung erhalten: ProhibitCommandWithUnintendedSideEffect Vermeiden Sie Befehle mit unbeabsichtigten Nebenwirkungen. Vermeiden Sie die Verwendung von: s [ubstitute], da dies den Cursor bewegt und Fehlermeldungen druckt. Bevorzugen Sie Funktionen …

1
Wie in mehreren Zeilen ersetzen?
Ich möchte ein Wort in mehrere Zeilen einfügen, gibt es einen Befehl wie :[2,3,5,7,11]s/^/word\ /g was würde wordam Anfang von Zeile 2, Zeile 3, Zeile 5, Zeile 7 und Zeile 11 einfügen ? Hier sind mehrere Zeilen nicht zusammenhängend.


4
Beschränken von Vorgängen auf einen Codeabschnitt
Es gibt viele Male in meinem täglichen Arbeitsleben, in denen ich eine bestimmte Funktion ausführen muss, z. B. das Hervorheben oder Suchen einer Variablen, aber ich habe es nie geschafft, den Umfang der Änderungen / Suche einzuschränken. Gibt es in vim eine Möglichkeit, selektiv zu sagen, alle Verweise auf $colordiese …


1
Wie erhalte ich eine Vorschau für den Ersetzungsbefehl?
Sehr oft muss ich eine Ersetzung durchführen, bei der Übereinstimmungen über eine große Datei verteilt und mit nicht trivialen Such- und Ersetzungsausdrücken versehen sind. Angenommen, ich habe einige Funktionsaufrufe wie okFunction(arg1, arg2 arg3). Die Argumente unterscheiden sich natürlich bei jedem Funktionsaufruf. Sagen wir jetzt, ich habe eine bessere Funktion entdeckt, …


1
Führen Sie die vorherige Ersetzung für eine andere Auswahl mit einem einzigen Tastendruck durch
Ich habe folgenden Befehl ausgeführt :'<,'>s/2/digit/g auf dem Code unten manuell visuell ausgewählt: return _.round(this.getTotalAbs(), 2).toFixed(2); Und es hat wie beabsichtigt funktioniert return _.round(this.getTotalAbs(), digit).toFixed(digit); Jetzt möchte ich den gleichen Ersatzbefehl für ein anderes Code-Snippet wiederholen, das manuell über den visuellen Auswahlmodus ausgewählt wurde, mit einem Tastendruck (falls möglich).



2
Wie verwende ich die Substitution im Register?
Angenommen, ich habe ein Register, in dem eine Zeichenfolge gespeichert ist, aber ich möchte den Ersatzbefehl verwenden , um sie zu ändern. Zum Beispiel habe ich 5x5 HTML-Tabelle: let @t='<table>'.repeat('<tr>'.repeat('<td>_</td>',5).'</tr>',5).'</table>' und ich möchte placeholder ( _) idealerweise durch andere Daten ersetzen, indem ich das vorhandene Register ändere (ohne es einem …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.