Rientrare diverse righe con VIM?


42

Ad esempio, sto modificando questo codice:

<html>
<body>
<script>
    var a = 10;
    a += 100;
</script>
</body>
</html>

ora devo rientrare nella riga di script:

<html>
<body>
    <script>
        var a = 10;
        a += 100;
    </script>
</body>
</html>

Come potrei farlo senza spostare il cursore all'inizio di ogni riga e premere Tab?


In modalità comando:gg=G
Prince John Wesley,

Risposte:


71

Premere Vper passare alla modalità VISUAL LINE ed evidenziare le linee che si desidera rientrare premendo j. Quindi premere >per rientrare. Quindi il comando completo sarebbe Vjjj>.

In alternativa, posiziona il cursore sul <script>tag e usa 4>>per rientrare quattro righe.


1
Inoltre, quando si modificano più livelli di rientro,. è estremamente utile (sposta lo stesso 'blocco' con visual, mark o un [count] come il precedente 4 >>).
Pif,

Inoltre, se il file di sintassi può eseguire la corrispondenza dei tag, è possibile posizionare il cursore sulla parola "script" e premere v per la modalità visiva,% per passare al tag corrispondente e> per rientrare o = per rientrare automaticamente in base alla sintassi, quindi il comando totale sarebbe v%> o v% =
ben

Funziona anche con la modalità visiva dal punto di vista dei caratteri (v minuscola), che è un po 'più facile da digitare. Quindi vjjj>
James Scriven,


10

Per rientrare in tutte le righe sotto la riga corrente

=G

Quindi, per indentare l'intero file, vai all'inizio del file ( gg) e quindi rientra tutte le righe sotto la riga corrente ( =G)

gg=G

Per rientrare nella riga corrente

==

Quindi, per rientrare le nrighe sotto la riga corrente

n==

Ad esempio, per rientrare 4 righe sotto la riga corrente

4==

Questi sono i comandi più semplici per rientrare più righe.


8

Se fossi in me, noterei che ci sono 4 righe da rientrare, posizionarsi sulla riga superiore e quindi digitare >4>. Se ci fossero troppe righe da contare, posizionerei sulla riga superiore e digiterei mkper fare un segno chiamato k, quindi posizionerei sulla riga inferiore (che potrebbe essere a parecchie schermate di distanza), e digitare>'k


bel consiglio per risparmiare facendo la matematica on line, grazie!
flickerfly,

3

Ecco un buon approccio, se stai cercando di rientrare su un gran numero di righe:

:/<script>/,/<\/script>/ >>
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.