Bagaimana cara memindahkan kursor ke level indentasi yang benar tanpa keluar dari mode insert?

14

Misalnya saya punya kode JavaScript ini. The |karakter mewakili posisi kursor dan itu adalah pada baris kosong.

function a() {
    console.log("a");

    function b() {
        console.log("b");

        function c() {
            console.log("c");
        }
|
        c();
    }

    b();
}

Setelah operasi yang diminta, isinya akan terlihat seperti ini:

function a() {
    console.log("a");

    function b() {
        console.log("b");

        function c() {
            console.log("c");
        }
        |
        c();
    }

    b();
}

Apa yang saya minta adalah perintah pemetaan.

Terima kasih banyak! :-)

silviubogan
sumber

Jawaban:

16

Seperti @jamessan disebutkan, <C-f>akan masuk ke tempat yang benar dari mode insert. Anda juga dapat menggunakan <C-t>dan <C-d>untuk menambah atau mengurangi level indentasi dari mode insert.

Namun, Anda mungkin dapat menghindari situasi tersebut sepenuhnya dengan menggunakan salah satu teknik berikut:

  • Gunakan o/ Ountuk memulai baris baru dari baris sebelumnya
  • Gunakan cc/ Suntuk mengedit baris (mempertimbangkan indensi)

Untuk bantuan lebih lanjut lihat:

:h cc
:h S
:h o
:h i_CTRL-T
:h i_CTRL-F
Peter Rincker
sumber
3
Juga, <C-f>biasanya didefinisikan dalam 'indentkeys'atau 'cinkeys'(tergantung pada mekanisme indentasi mana yang digunakan) yang akan memungkinkan Anda untuk mengaktifkan kembali baris saat ini ke tempat seharusnya, dari mode insert. Lihat : tolong i_CTRL-F
jamessan
Perhatikan bahwa Anda perlu :set cindentatau tombol-tombol ini tidak melakukan apa pun!
JonnyRaa