¿Cómo mover el cursor al nivel de sangría correcto sin salir del modo de inserción?

14

Por ejemplo, tengo este código JavaScript. El |carácter representa la posición del cursor y está en una línea vacía.

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

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

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

    b();
}

Después de la operación solicitada, el contenido se vería así:

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

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

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

    b();
}

Lo que estoy pidiendo es un comando de mapeo.

¡Muchas gracias! :-)

silviubogan
fuente

Respuestas:

16

Como @jamessan mencionó, sangrará <C-f>al lugar correcto desde el modo de inserción. También puede usar <C-t>y <C-d>para aumentar o disminuir el nivel de sangría desde el modo de inserción.

Sin embargo, puede evitar entrar en esa situación por completo utilizando una de las siguientes técnicas:

  • Use o/ Opara comenzar una nueva línea desde una línea anterior
  • Use cc/ Spara editar la línea (tiene en cuenta la sangría)

Para más ayuda ver:

:h cc
:h S
:h o
:h i_CTRL-T
:h i_CTRL-F
Peter Rincker
fuente
3
Además, <C-f>generalmente se define en 'indentkeys'o 'cinkeys'(según el mecanismo de sangría que se esté utilizando), lo que le permitirá reindentificar la línea actual a donde debería estar, desde el modo de inserción. Ver : ayuda i_CTRL-F
jamessan
Tenga en cuenta que necesita :set cindento estas teclas no hacen nada!
JonnyRaa