Evita que vim arruine mi sangría en los comentarios
13
Por alguna razón, Vim piensa que todos mis comentarios deberían eliminar toda sangría. Si agrego #al principio de una línea, de repente se elimina todo el espacio en blanco inicial. ¿Cómo puedo detener esto?
Tengo instalado Janus y NERDtree, en caso de que sea relevante, junto con otras configuraciones personales copiosas en mi .vimrc, pero ninguna que (hasta donde yo sé) causaría tal comportamiento.
Nunca estoy satisfecho con las respuestas "configurar todas estas cosas por si acaso". Insisto en saber cuál de esas cosas se equivocó y cómo se resolvieron. Aquí hay un comando que le mostrará los valores de todas las configuraciones relevantes mencionadas aquí, así como dónde se establecieron por última vez. Si no Last set fromsigue una línea, es un valor predeterminado. No tiene sentido obtener setlos valores predeterminados correctos.
:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?
noautoindent
nosmartindent
cindent
Last set from ~/.vim/vimrc
cinkeys=0{,0},0),:,!^F,o,O,e
Last set from ~/.vim/vimrc
indentexpr=
Press ENTER or type command to continue
¡Guauu! OP cambió su respuesta seleccionada. Me siento honrado.
Bruno Bronosky
6
Esta es una batalla que luché también, y creo que finalmente gané. El problema es que hay una docena de formas diferentes en que el comportamiento puede ser anulado (por complementos / sintaxis).
Aquí están todas las configuraciones que tuve que usar para ganar la batalla:
set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it
Con el autocmd, el primero set cindentno debería ser necesario, pero esta es una de esas cosas en las que seguí agregando líneas hasta que el comportamiento desapareció.
Yo era capaz de saltar las dos últimas líneas y todavía resolver el problema
iconoclasta
1
@iconoclast tenga en cuenta que aún puede tener problemas con algunos tipos de archivos. La última línea se debe a que algunos archivos de sintaxis anulan la configuración de sangría.
Patrick
1
¡¡¡DIOS MIO!!! set indentkeys-=0#!! ¡FINALMENTE MI SUFRIMIENTO HA TERMINADO!
Esta es una batalla que luché también, y creo que finalmente gané. El problema es que hay una docena de formas diferentes en que el comportamiento puede ser anulado (por complementos / sintaxis).
Aquí están todas las configuraciones que tuve que usar para ganar la batalla:
Con el
autocmd
, el primeroset cindent
no debería ser necesario, pero esta es una de esas cosas en las que seguí agregando líneas hasta que el comportamiento desapareció.fuente
set indentkeys-=0#
!! ¡FINALMENTE MI SUFRIMIENTO HA TERMINADO!Es posible que desee consultar la página de códigos fuente Vim Wiki Indenting y ver cómo funciona 'autoindent'.
fuente
ref esta respuesta:
http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash
modificar a:
o:
fuente
He resuelto el problema comentando
set smartindent
.fuente