2013-05-14 14 views
6

Come si cerca la seguente stringa in vim?vim come cercare l'URL

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

Ho provato (alla molto nessuna magia)

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

Ma mi dà:

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

Si potrebbe pensare che ci sarebbe un modo semplice per cerca una stringa letteralmente ... Non sono troppo interessato alla barra che sfugge ad ogni barra, o alla scrittura di una ricerca complicata, perché devo cercare rapidamente diversi URL in un file di testo.

risposta

8

Non so perché si ottiene not an editor command poiché non lo faccio. Il modo più semplice per cercare senza dover sfuggire alle barre è utilizzare ? invece, ad es.

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

Questo fa ricerca nella direzione opposta, quindi basta tenere a mente

+0

Grazie! Questo ha fatto il trucco :-) – ktm5124

+2

Il motivo per cui ha ottenuto "non un comando di editor" è che ha inserito la ricerca mentre era in modalità di comando, indicata da ":". –

+0

Ah, capisco, buono a sapersi. – ktm5124

-1

Ricerca in vim è solo /, non :/. È possibile cercare la stringa che sfugge solo alle barre: /http:\/\/my.url.com\/a\/b\/c

+1

Lato negativo: l'aggiunta di tutte quelle barre è un problema se si eseguono spesso ricerche di URL; è quello che sono venuto qui per evitare. –

3

un altro modo per cercare avanti (dalla posizione del cursore) senza eseguire l'escape è il comando :s.

si potrebbe fare:

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

quindi premere n per navigare testo corrispondente avanti, N all'indietro

Se volete sapere quante partite nel buffer, utilizzare gn invece di n

nota che, ho detto "senza fuggire", stavo parlando della barra, se vuoi fare una ricerca precisa, devi sfuggire al punto. .. poiché nell'espressione regolare, . significa qualsiasi carattere.

0

Può anche impostare direttamente il registro di ricerca.

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

Quindi è possibile utilizzare n e N come normale.

0

Utilizzare MacVim (o GVim). Aprire la ricerca GUI non regex usando f (o ctrl f su Windows). Questo è il modo consigliato per fare una ricerca non regex in Vim. GUI Vim ha molti miglioramenti rispetto a terminal vim come questo e consiglio vivamente di usarlo a tempo pieno se non lo sei già.