Domanda

Qual è il modo più semplice per aumentare o diminuire il rientro di un grosso blocco di codice in vi?

È stato utile?

Soluzione

In vim (non sono sicuro che ciò valga anche per te), usi >> per rientrare di una riga. Come con quasi tutti i comandi in vim, digitare un numero prima che il comando da eseguire sia più volte. Quindi, per rientrare nelle prossime 50 righe, digitare 50>>.

Altri suggerimenti

Autoidenting:

Per un blocco {} utilizzo il comando: = iB (con il cursore all'interno del blocco per identificare)

Per identificare nuovamente un file completo, utilizzo gg=G

Ora per aumentare o ridurre l'identificazione su un blocco, devi selezionarlo (io uso il comando viB ) e poi fai > > o < < e se vuoi ripetere l'identificazione basta usare il punto .

Ricorda inoltre di impostare le impostazioni di identificazione con

: imposta shiftwidth = NUMOFSPACES

e

: imposta softtabstop = NUMOFSPACES

Contrassegnalo, quindi usa > e < ;.

Se il tuo codice si trova tra parentesi graffe, posiziona il cursore su una delle parentesi graffe e usa >% o <%.

Un altro comando utile è, una volta rientrato usando '<' o '>', usa '.' per ripetere il comando fino a quando non è allineato come lo desideri.

Inoltre, puoi consultare http://vim.wikia.com/ per suggerimenti su questo una specie di cosa.

Per impostazione predefinita nella modalità di inserimento, è possibile utilizzare Ctrl-T e Ctrl-D per de- / intentare la riga corrente.

premi v per andare in modalità visiva e freccia giù in modo da selezionare l'intero blocco, quindi 12 > >

usa due parentesi angolari (" < < " o " > > " ) per una riga a sinistra oa destra per i caratteri di shiftwidth. Puoi farlo con gli indicatori di intervallo di linea comuni - & Quot;: m, n & Quot ;, parentesi graffa / parentesi / corrispondenza paren, ecc.

O " < " ;, quindi un indicatore di movimento, quindi un altro " < " ;.

O " < 12 < " sposta le 12 righe successive a sinistra.

: & 50,100 gt;

Rientra le righe da 50 a 100 una volta

: &; & 50,100 gt gt;

Rientra due volte le righe da 50 a 100

funziona anche con < e < < ecc.

Per prima cosa trova i numeri di riga delle linee di inizio e fine usando il comando Control-g. Lascia che siano m e n . Supponiamo di voler indentare i numeri di riga da m a n di 5 spazi. Quindi, il seguente comando esegue il lavoro

:m,ns/^/     /g 

Per ridurre il rientro, prima converti tutte le schede in (diciamo 4) spazi.

:m,ns/\t/    /g

Quindi supponiamo di voler rimuovere 3 spazi dalle righe numerate da m a n .

:m,ns/^   //g
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top