Wie bewegt man den Cursor auf die richtige Einrückungsstufe, ohne den Einfügemodus zu verlassen?

14

Zum Beispiel habe ich diesen JavaScript-Code. Das |Zeichen steht für die Cursorposition und befindet sich in einer leeren Zeile.

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

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

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

    b();
}

Nach der angeforderten Operation würde der Inhalt folgendermaßen aussehen:

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

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

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

    b();
}

Ich bitte um einen Zuordnungsbefehl.

Vielen Dank! :-)

silviubogan
quelle

Antworten:

16

Wie @jamessan erwähnt, <C-f>wird der Einfügemodus an der richtigen Stelle eingerückt . Sie können auch <C-t>und verwenden <C-d>, um die Einrückstufe im Einfügemodus zu erhöhen oder zu verringern.

Mit einer der folgenden Techniken können Sie jedoch möglicherweise verhindern, dass Sie vollständig in diese Situation geraten:

  • Verwenden Sie o/ O, um eine neue Zeile von einer vorherigen Zeile aus zu beginnen
  • Verwenden Sie cc/ S, um die Zeile zu bearbeiten (berücksichtigt Einrückung)

Weitere Hilfe finden Sie unter:

:h cc
:h S
:h o
:h i_CTRL-T
:h i_CTRL-F
Peter Rincker
quelle
3
Außerdem <C-f>wird in der Regel in 'indentkeys'oder 'cinkeys'(abhängig davon, welcher Einrückungsmechanismus verwendet wird) definiert, mit dem Sie die aktuelle Zeile aus dem Einfügemodus wieder an die Stelle einrücken können, an der sie sein soll. Siehe : help i_CTRL-F
Jamessan
Beachten Sie, dass :set cindentSie nichts tun müssen oder diese Tasten!
JonnyRaa