vim findet und ersetzt keine einfache Phrase, die eindeutig vorhanden ist

71

Ich habe ein einfaches Vim-Problem, bei dem Google mir nicht helfen konnte. Alle Gedanken werden geschätzt.

Ich mache die folgende Suche und ersetze:

:s/numnodes/numnodes1/g

In einer Datei mit folgendem Text:

numprocs=0  
numnodes=0

Ich bekomme

E486: Pattern not found

Die Position des grünen Quadrats, die angibt, wo ich mit dem Tippen beginnen würde, liegt deutlich über dem Muster. Ich habe versucht, nach anderen kurzen Phrasen ohne Regex zu suchen, die ebenfalls vorhanden sind und ebenfalls fehlschlagen. Ein einfacher / numnodes hebt Übereinstimmungen wie erwartet hervor. Hat jemand eine Idee, was mit vim los sein könnte?

Mark C.
quelle

Antworten:

117

Versuchen :%s/searchphrase/replacephase/g

Ohne das %Symbol stimmt Vim nur mit der aktuellen Zeile überein und ersetzt diese.

mmccomb
quelle
15

Versuchen Sie Folgendes:

:%s/numnodes/numnodes1/g
Uku Loskit
quelle
10
Ack, die Zahl vor 's' ist die Zeilennummer, '% "bedeutet' alle Zeilen 'AFAIK.
Wrikken
2
Es ist eine Linienspezifikation. Sie können auch (anstelle von%)., $ verwenden, um beispielsweise von der aktuellen Zeile zu eof zu wechseln
time4tea
Wenn Sie als visuellen Hinweis aus dem visuellen Modus auswählen, können Sie Folgendes verwenden: und es wird automatisch das Zeilennummernmaterial für diese Region ausgefüllt, sodass Sie es innerhalb einer Region ersetzen können.
Alternative
Ich benutze: s / foo / bar / g für immer. Dies ist das erste Mal, dass ich von diesem% gehört habe.
Rick O'Shea