it-swarm-id.com

Indentasi beberapa baris dengan VIM?

Misalnya, saya mengedit kode ini:

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

sekarang saya perlu membuat indentasi baris skrip:

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

Bagaimana saya bisa melakukan ini tanpa memindahkan kursor ke awal setiap baris dan tekan Tab?

51
wong2

Tekan V untuk beralih ke mode VISUAL LINE dan sorot baris yang ingin Anda indentasi dengan menekan j. Lalu tekan > untuk membuat inden mereka. Jadi perintah lengkapnya adalah Vjjj>.

Atau, letakkan kursor Anda di <script> tag dan gunakan 4>> untuk membuat indentasi empat baris.

82
dogbane

Untuk melengkapi jawaban di atas, lihat di sini. https://stackoverflow.com/questions/235839/how-do-i-indent-multiple-lines-quickly-in-vi

Ada lebih dari satu cara untuk melakukan ini, dan saya tidak bisa berharap untuk bersaing dengan dokumentasi yang sudah disediakan di sana.

Favorit pribadi saya adalah == ke indentasi otomatis. 5== ke indentasi otomatis 5 baris.

17
user606723

Untuk membuat indentasi semua baris di bawah baris saat ini

=G

Jadi, untuk membuat indentasi seluruh file, buka bagian awal file (gg) dan kemudian indentasi semua baris di bawah baris saat ini (=G)

gg=G

Untuk indentasi baris saat ini

==

Jadi, untuk membuat indentasi n baris di bawah baris saat ini

n==

Misalnya, untuk membuat indentasi 4 baris di bawah baris saat ini

4==

Ini adalah perintah paling sederhana untuk membuat indentasi beberapa baris.

11
Sagar Jain

Jika itu saya, saya akan melihat bahwa ada 4 baris untuk indentasi, posisikan ke baris atas dan kemudian ketik >4>. Jika ada terlalu banyak baris untuk dihitung, saya akan memposisikan ke atas baris dan ketik mk untuk membuat tanda bernama k, kemudian posisikan ke garis bawah (yang mungkin beberapa layar penuh), dan ketik >'k

9
Michael Dillon

Ini adalah pendekatan yang bagus, jika Anda mencoba membuat indentasi pada banyak baris:

:/<script>/,/<\/script>/ >>
4
bhinesley