Ricerca…
Sintassi
-
:[<range>]g[lobal]/{<pattern>}/[<command>]
-
:[<range>]g[lobal]!/{<pattern>}/[<command>]
(invertito) -
:[<range>]v[global]/{<pattern>}/[<command>]
(invertito)
Osservazioni
Il comando "globale" di Vim viene utilizzato per applicare un comando ex a ogni riga in cui una regex corrisponde.
Utilizzo di base del comando globale
:g/Hello/d
Cancellerà ogni riga contenente il testo "Ciao". Nota importante : questo non è il normale comando di modalità d
, questo è il comando ex :d
.
È possibile utilizzare il comando globale per applicare le normali sequenze di tasti in modalità invece di comandi ex anteponendo normal
o norm
al comando. Per esempio:
:g/Hello/norm dw
Cancellerà la prima parola da ogni riga che contiene il testo "Ciao".
Il comando globale supporta anche la modalità visiva e gli intervalli .
Strattonare ogni riga corrispondente a un motivo
Il comando
:g/apples/y A
sarà yank linee contenenti la parola mele in a
registro, che può essere incollato con "ap
. Qualsiasi espressione regolare può essere utilizzato.
Notare lo spazio prima di A
e la maiuscola della lettera di registro. Se viene utilizzata una lettera maiuscola come registro di scorrimento, le corrispondenze verranno aggiunte a quel registro. Se viene utilizzata una lettera minuscola, solo l' ultima partita verrà inserita in quel registro.
Sposta / raccogli linee contenenti informazioni chiave
un comando semplice ma molto utile:
:g/ending/m$
muove linee contenenti ending
alla fine del buffer.
m
significa mossa
$
significa fine del buffer, mentre 0
significa inizio del buffer.