2010-09-15 13 views
14

Decir que tengo el texto actual en el formulario, donde _ marca el cursorVim: la línea actual de sangría (en blanco) e insertar

int main(int argc, char **argv) { 
    printf("Hello, world!\n"); 

_ 
} 

tengo indentexpr en (aunque una solución con cindent o autoindent probablemente va a funcionar , también).

¿Cómo empezar a insertar por lo que mi cursor se coloca en la columna apropiada a seguir las reglas de sangría, es decir:

int main(int argc, char **argv) { 
    printf("Hello, world!\n"); 

    _ 
} 

Actualmente me encuentro con ddO menudo (o ddo al final de la memoria intermedia) , pero parece que debería haber una mejor manera. El uso de == o incluso >> o v> no parece funcionar porque la línea está en blanco.

Respuesta

27

trate de ir de nuevo en modo normal y escribiendo S

+0

Sí! ¡Eso fue todo! Muchas gracias. (Yo ya estaba en modo normal; en el modo de inserción, a veces correo no deseado .) – strager

+4

Mirando ': ayuda S',' cc' hace lo mismo. (Nunca uso 'cc', entonces esa es probablemente la razón por la que ni siquiera consideré usar eso (ni' S', del cual ni siquiera sabía). – strager

6

Si estoy en una línea en blanco, pero en el punto de inserción equivocada, que tienden a utilizar CTRL-f (mientras que en el modo de inserción) para sangrar al lugar correcto .

Esto es útil cuando he pulsado ESC para salir del modo de inserción, y he perdido la sangría correcta. Golpear i seguido de CTRL-f hace el truco.

+0

'==' hace eso, pero yo no sabía podría hacer '==' en modo inserción. – strager

+0

@strager ¿qué quiere decir con '==' en el modo de inserción? Parece que no funciona para mí. – Thomson

Cuestiones relacionadas