es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La transición entre el modo normal y el modo de inserción ignora la indentación en gVIM.

Bueno, ya empecé mi aventura en Vim. Después de aprender lo básico, estaba en el proceso de configurar mi archivo _vimrc para lograr el comportamiento que quiero que Vim tenga mientras lo uso como mi editor de preferencia. Pude obtener una configuración bastante sólida. Sin embargo, aún hay algo que no sé cómo hacer, lo que estoy intentando hacer es lo siguiente:

Suponga que escribí algo como:

1

Luego presiono <ESC> para entrar en modo normal. Lo que obtengo después de eso es:

2

Finalmente, presiono I para entrar en modo insertar y la posición del cursor es la siguiente:

3

¿Cómo puedo forzar a Vim a iniciar el modo insertar con la sangría relativa al bloque en el que se encuentra el cursor? En otras palabras, ¿cómo puedo lograr la posición inicial de la primera captura de pantalla al cambiar el modo en lugar de la tercera?

Casi todo mi archivo _vimrc se compone de:

syntax on
au GUIEnter * simalt ~x
colorscheme monokai-pro
set guifont=Consolas:h20
set mouse=a
set tabstop=4
set shiftwidth=4
set smartindent
set number
set autowrite
set autoread
set nowrap
set hls
set is
set expandtab
set cb=unnamed

Gracias de antemano. Espero haber explicado correctamente el problema. Si ese no es el caso, hágamelo saber.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Vim, indentación y auto-indentación, el problema que se presenta es que el usuario quiere que Vim comience el modo de inserción con la indentación relativa al bloque en el que se encuentra el cursor, en lugar de al inicio de la línea como se muestra en la tercera captura de pantalla.

    Para lograr este comportamiento, el usuario puede agregar la siguiente línea a su archivo “_vimrc”:

    set indentkeys+=<CR>
    

    Esta línea habilitará el uso de la tecla <CR> para insertar una nueva línea y automáticamente indentarla al mismo nivel que la línea anterior. Luego, el usuario puede presionar ESC para regresar al modo normal y luego I para entrar en el modo de inserción con la indentación correcta.

    Alternativamente, el usuario puede utilizar los comandos o o O para insertar una nueva línea debajo o encima de la línea actual, respectivamente. Estos comandos automáticamente indentarán al mismo nivel que la línea anterior.

    Esperamos que esta solución ayude al usuario a lograr el comportamiento deseado en Vim.

Comments are closed.