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

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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.