c - indent - vim split editor
¿Cómo deshabilitar la sangría de vim del caso de cambio? (3)
Actualmente estoy luchando con Vim, parece que no puedo hacer que las opciones de sangrado hagan lo que quiero.
Aquí están mis configuraciones, las puse en la parte inferior de .vimrc para asegurarme de que tengan prioridad. Como pueden ver, me estoy volviendo un poco loco, así que intenté apagar casi todo:
set cindent
set cinkeys=o,O
set cinoptions=
set cinwords=
set indentexpr=
En la mayoría de los casos, parece funcionar bien, hace una sangría después de abrir un bloque y todo está bien. Pero hay un caso que me está volviendo loco, cuando hay una {
después de una declaración del case
, la siguiente línea está demasiado sangrada:
switch () {
case CASE: {
// <-- next line gets indented to here, why??
// <-- should be indented to here
¿Cómo puedo hacer que deje de hacer esto? TIA
Cuando tecleo manualmente sus comandos de set
, no tengo ninguna sangría. ¿Ha visto la salida de :set all
para confirmar que sus configuraciones no se están anulando?
Nota: Esto probablemente debería estar en un comentario, pero esa opción actualmente no está permitida para mí.
Si la sangría es N espacios (reemplace N con valor real), intente lo siguiente
set cinoptions=p0,t0,:N,=0
set cinwords=if,else,switch,case,for,while,do
set cindent
: N -> coloque la etiqueta de ''caso'' 0 caracteres de la sangría del interruptor
= 0 -> sangra las declaraciones dentro de la etiqueta del caso
:set cinoptions=l1
(esa es la letra ell seguida de un número uno)
Mira: ayuda cinoptions-valores para la cadena predeterminada y descripciones de las diferentes opciones.