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! :-)

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.