Decidí cambiar el tamaño de mi pestaña de 4 a 2, porque ¿por qué no? Cualquiera que quiera ver el código seguramente puede usar sus preferencias.
Sin embargo, una pregunta.
Si presiono la tecla tab, inserta 2, pero el autoindent de Vim sigue poniendo 4. ¿Qué cambio para hacer que 2?
Otra pregunta no relacionada: ¿Qué estilo de sangría es mejor para C y lenguajes similares? He estado usando 1TBS, pero hay muchos para elegir. ¿Alguno de ellos es más profesional o preferido?
ts
como 2, 4 u 8Opciones de sangría de Vim
Vim utiliza principalmente 3 configuraciones en cuanto al tamaño de sangría:
tabstop
,ts
: cuando Vim encuentra una tabulación en un archivo que está abriendo, muestra la pestaña como {ts} espacios (consulte la ayuda de tabulación , o escriba:help tabstop
Vim).softtabstop
,sts
: cuando está editando un archivo y presiona la tecla de tabulación, Vim utiliza esta configuración para definir el ancho de la tabulación insertada (consulte la ayuda de softtabstop o escriba:help softtabstop
Vim).shiftwidth
,sw
: El número de espacios Vim utiliza cuando la sangría, ya sea usando cosas autoindent o la costumbre>>
,<<
los comandos. Como Heptite notó, esto es lo que estaba buscando en este caso particular. Y las versiones recientes de Vim de hecho le permiten no definir esta opción,shiftwidth
luego tomarían el valor definido portabstop
. Muy útil (consulte la ayuda de Shiftwidth ).Ejemplo
Entonces, por ejemplo, si usa la siguiente configuración:
Estos producirían el siguiente comportamiento:
tabstop
se establece en 2, esto sería en realidad el equivalente de 2 tabulaciones. Esto es bastante fácil de verificar, solo use las opcioneslist
ylistchars
para mostrar las tabulaciones.>>
, la sangría sería de 8 espacios de ancho (por lo tanto, el equivalente a 4 tabulaciones, en función deltabstop
valor, igual que el anterior).Recomendaciones de sangría de Vim (de la documentación de Vim)
De
tabstop
ayuda (:help tabstop
en Vim):Yo personalmente uso principalmente la segunda solución, con tabulaciones de 2 espacios de ancho.
fuente
De acuerdo con http://vim.wikia.com/wiki/Indenting_source_code , el comando 'filetype plugin indent on' hará que el programa use scripts de sangría específicos de tipo de archivo ubicados en el subdirectorio de sangría de la instalación de Vim. Esa página también indica que 'cindent' se usa automáticamente en archivos C y C ++, y que no se le debe exigir que use ese comando manualmente.
No estoy muy familiarizado con Vim, ya que solo lo uso para alguna edición de texto básica ocasional, pero intentaría emitir manualmente el comando 'cindent' para usar el tamaño de autoindent predeterminado de Vim para ese código. Si eso no funciona, puede intentar 'aplicar sangría al complemento de tipo de archivo' y editar las secuencias de comandos usted mismo para obtener las sangrías deseadas.
fuente