En la mayoría de los casos, quiero usar tabstop=4
mientras editaba archivos. Pero para algunos tipos de archivos, como archivos xml, quiero usar tabstop=2
.
agregué
au filetypedetect FileType xml,html,xhtml,javascript set tabstop=2 softtabstop=2 shiftwidth=2
en mi .vimrc
expediente. Funciona si estoy editando solo un archivo. Pero si estoy editando varios archivos, no puede configurar las tabulaciones correctamente para todos los búferes. Parece que el tipo de archivo se detecta y establece solo al inicio, y nunca cambia desde entonces.
Quiero el FileType
establecer cada vez que cambio el búfer. ¿Cómo puedo hacer eso?
Respuesta aceptada:
No estoy seguro de por qué su versión no funciona, pero puedo hacerlo usando la call
y poniendo la configuración en una función como esta:
set tabstop=4
set softtabstop=4
set shiftwidth=4
function! setAltPrefs()
set tabstop=2
set softtabstop=2
set shiftwidth=2
endfunction
autocmd FileType xml,html,xhtml,javascript call setAltPrefs()
Esto debería activarse cada vez que se carga un archivo en un búfer o cambia el tipo de archivo. El único inconveniente sería si cambia un búfer de uno de los tipos personalizados a uno que debería ser el predeterminado. En ese caso nada cambiará. Tendría que configurar otra función para que se active en todos los tipos de archivos si necesita cubrir ese caso de uso.