Jak przesunąć kursor na właściwy poziom wcięcia bez wychodzenia z trybu wstawiania?


14

Na przykład mam ten kod JavaScript. |Postać reprezentującą pozycję kursora i jest na pustej linii.

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

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

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

    b();
}

Po żądanej operacji zawartość wyglądałaby następująco:

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

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

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

    b();
}

Proszę o polecenie mapowania.

Dziękuję Ci bardzo! :-)

Odpowiedzi:


16

Jak wspomniano @jamessan, <C-f>wcięcie do właściwego miejsca z trybu wstawiania. Możesz także użyć <C-t>i, <C-d>aby zwiększyć lub zmniejszyć poziom wcięcia z trybu wstawiania.

Można jednak uniknąć sytuacji, w której można całkowicie uniknąć tej sytuacji, stosując jedną z następujących technik:

  • Użyj o/, Oaby rozpocząć nową linię od poprzedniej linii
  • Użyj cc/, Saby edytować linię (uwzględnia wcięcie)

Aby uzyskać więcej pomocy, zobacz:

:h cc
:h S
:h o
:h i_CTRL-T
:h i_CTRL-F

3
Ponadto <C-f>jest zwykle zdefiniowany w 'indentkeys'lub 'cinkeys'(w zależności od używanego mechanizmu wcięcia), który pozwoli ci ponownie wprowadzić bieżącą linię do odpowiedniego miejsca, z trybu wstawiania. Patrz : pomoc i_CTRL-F
jamessan

Pamiętaj, że musisz :set cindentlub te klucze nic nie robią!
JonnyRaa
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.