Come applico un comando a tutte le linee?


19

Se voglio rientrare in tutte le righe di un documento, posso digitare >Gper applicarlo alla riga corrente e in basso, seguito da e >ggapplicarlo alle righe sopra.

C'è una combinazione che posso usare per applicare solo >a tutte le linee contemporaneamente?

Risposte:


19

Stai cercando il :>comando e un intervallo di 1,$( %in breve) per l'intero file.

:%>

Per ulteriori informazioni, consultare:

:h :>
:h :range

5
A causa del titolo di questa domanda ("applica un comando a tutte le righe"), ritengo che valga la pena notare che l'esempio nella domanda menziona l'operatore in modalità normale >, mentre questa risposta utilizza il comando in modalità comando :>. Queste non sono, a rigor di termini, la stessa cosa. Che abbiano lo stesso nome dovrebbe essere considerato una coincidenza; non dare per scontato che puoi scambiare operatori e comandi in generale. Ad esempio, l' gUoperatore converte il testo in maiuscolo, ma non:%gU è un comando valido per applicare lo stesso all'intero buffer.
Tommaso

7

Un modo per rientrare in tutte le righe di un documento:

:%>

3

Senza uscire dalla modalità normale puoi semplicemente fare:

gg>G

2
il rovescio della medaglia qui è che si perde la posizione nel file
TankorSmash

Tutte le altre risposte condividono questo aspetto negativo e l'OP non ha menzionato "rispettare la posizione del cursore" come requisito.
romainl

1
<co> può essere utilizzato per tornare alla posizione precedente @ La soluzione di Romainl richiede di tornare indietro due volte, mentre l'altro richiede di tornare indietro una sola volta
Brett Y

Sicuramente puoi apprezzare il valore di mantenere il tuo posto e come sarebbe preziosa una risposta che mantenga quella posizione.
TankorSmash

1
Ecco perché non viene sottoposto a downgrade. È semplicemente una nota che dice che c'è un'opzione migliore da qualche parte e che dovrebbero continuare a cercare. Ad esempio, in un sito di programmazione SE, il codice sciatto che risolve il problema risolve il problema, ma ci si aspetterebbe comunque di trovare un'altra soluzione che risolva il problema e abbia un bell'aspetto.
TankorSmash

3

Un'altra opzione che non è stata ancora menzionata:

:g/^/>

Questo eseguirà il comando >su tutte le linee che corrispondono al modello ^.

L'aspetto negativo è che questo sovrascriverà la cronologia delle ricerche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.