2009-10-24 4 views
5

Wie kann ich im vi Editor nach 3 Strings gleichzeitig suchen?Wie kann ich im vi Editor nach 3 Strings gleichzeitig suchen?

Ich fragte mich, wie wir es schaffen könnten. I.e. Suche nach 3 Strings gleichzeitig in vi wie ich: :/xyz im Befehlsmodus.

Wie könnte ich 2 weitere Zeichenfolgen hinzufügen, so dass der Cursor an einer Zeichenfolge stoppt, die je unter den drei zuerst gefunden wird und wenn wir n drücken, wird es an der Zeichenfolge anhalten, die zweite unter den drei gefunden wird?

Ich nehme an, das wäre in Echtzeit sehr hilfreich.

Antwort

10

Verwenden Sie die Bar (|), entkam (dh mit einem umgekehrten Schrägstrich vor, so dass sie nicht als wörtliche bar interpretiert wird):

/string1\|string2\|string3 

Beachten Sie, dass der Doppelpunkt (:) nicht erforderlich ist, . Im Befehlsmodus können Sie einfach einen Schrägstrich eingeben (/); Es ist nicht nötig zuerst einen Doppelpunkt einzugeben.

+0

Seltsam, dass Sie das Pipe-Symbol, das das Gegenteil von RegExp Standard ist zu entkommen. $ -) – Pascal

+1

@SanHolo: ja. Dies gilt z.B. Klammern und eckige Klammern. Ich nehme an, die Philosophie dahinter ist, dass die meisten Benutzer die Suchfunktionalität für "normale" (nicht regexp) Suchen verwenden werden. – Stephan202

+5

Unter '' help magic' finden Sie weitere Informationen darüber, wann Sie Sonderzeichen vermeiden sollten und wie Sie dies ändern können. – Tim