2013-05-14 12 views
6

Wie würden Sie in vim nach der folgenden Zeichenfolge suchen?vim So suchen Sie nach URL

http://my.url.com/a/b/c 

Ich habe versucht (a la Sehr No Magic)

:/\Vhttp://my.url.com/a/b/c 

Aber es gibt mir:

E492 not an editor command: /\Vhttp://my.url.com/a/b/c

Sie zu denken, wäre es eine einfache Möglichkeit wäre zu suche eine Zeichenkette im wahrsten Sinne des Wortes ... Ich bin nicht sonderlich daran interessiert, jeden Schrägstrich zu umgehen oder eine komplizierte Suche zu schreiben, weil ich schnell verschiedene URLs in einer Textdatei suchen muss.

Antwort

8

Ich bin mir nicht sicher, warum Sie not an editor command seit ich nicht bekomme. Die einfachste Art zu suchen, ohne Schrägstriche zu verlassen, besteht darin, stattdessen ? zu verwenden, z.

:?http://my.url.com/a/b/c 
" or since the : is not necessary 
?http://my.url.com/a/b/c 

Dies gilt Suche in der anderen Richtung, so hält nur, dass

+0

Danke! Das hat den Trick gemacht :-) – ktm5124

+2

Der Grund, warum er "kein Editor-Befehl" bekam, war, dass er die Suche im Befehlsmodus startete - angezeigt durch das ":". –

+0

Ah, ich verstehe, gut zu wissen. – ktm5124

-1

in vim im Auge Suche nur / ist, nicht :/. Sie können nach der Zeichenfolge suchen, die nur die Schrägstriche verlässt: /http:\/\/my.url.com\/a\/b\/c

+1

Nachteil: Das Hinzufügen all dieser Schrägstriche ist ein Problem, wenn Sie häufig nach URLs suchen. Ich wollte hierher kommen, um zu vermeiden. –

3

Eine andere Möglichkeit, vorwärts zu suchen (von der Position Ihres Cursors), ohne zu entkommen, ist der Befehl :s.

Sie tun können:

:%[email protected]://my.url.com/a/b/[email protected]@n 

dann n vordringen gefundenen Text zu navigieren, N rückwärts

Wenn Sie wissen wollen, wie viele Spiele in den Puffer verwenden gn statt n

Beachten Sie, dass ich sagte "ohne zu entkommen", ich sprach über den Schrägstrich, wenn Sie genau suchen wollen, müssen Sie der Zeit entkommen. .. seit in Regex, . bedeutet jede char.

0

Kann das Suchregister auch direkt einstellen.

:let @/='\Vhttp://my.url.com/a/b/c' 

Dann können Sie n und N wie normale verwenden.

0

Verwenden Sie MacVim (oder GVim). Öffnen Sie die nicht-regex GUI-Suche mit f (oder ctrlf unter Windows). Dies ist die empfohlene Methode, um eine nicht reguläre Suche in Vim durchzuführen. GUI Vim hat viele Verbesserungen gegenüber Terminal-Vim wie diesem und ich würde sehr empfehlen, es in Vollzeit zu nutzen, wenn Sie es nicht schon sind.

Verwandte Themen