Vim también puede detectar los tipos de archivos mediante la inspección de sus contenidos (como por ejemplo, si la primera línea contiene un tinglado bash), aquí es una cita de archivo filetype.txt
ayuda:
Si el tipo de archivo sólo puede ser detectado por inspección del contenido del archivo
Cree su directorio de tiempo de ejecución de usuario. Normalmente usaría el primer elemento de la opción 'runtimepath'. Ejemplo para Unix:
:!mkdir ~/.vim
Cree un archivo de script vim para hacerlo. Ejemplo:
if did_filetype() " filetype already set..
finish " ..don't do these checks
endif
if getline(1) =~ '^#!.*\<mine\>'
setfiletype mine
elseif getline(1) =~? '\<drawing\>'
setfiletype drawing
endif
Consulte $ VIMRUNTIME/scripts.vim para ver más ejemplos. Escriba este archivo como "scripts.vim" en su directorio de tiempo de ejecución de usuario. Para ejemplo, para Unix:
:w ~/.vim/scripts.vim
La detección va a funcionar de inmediato, sin necesidad de reiniciar Vim.
Su scripts.vim se carga antes de los controles por defecto para los tipos de archivos, lo que significa que su reglas sustituyen a las reglas predeterminadas en $ VIMRUNTIME/scripts.vim.
pero la mayoría de los scripts no tienen una extensión .sh? ¿Debería ponerlo como una extensión .sh solo para que funcione? ¿Es una mejor práctica nombrar tus guiones? y su bash ... así que todavía está .sh? –
@ajsie: No estoy seguro de qué scripts está usando, pero la mayoría de los scripts 'bash' que encuentro tienen un sufijo' .sh'. Para realmente especificar * bash * en lugar de simplemente 'sh', usaría la línea de shebang' #!/Bin/bash' en un archivo '.sh'. –
simplemente escriba: set ft = sh y listo, O, prefija su script con una línea de modo: "# vim: ft = sh" sin las comillas, por supuesto, Y, sugiero obtener algo mejor que el resaltador sh filetype for scripts bash porque no reconoce las cosas correctamente, algunos ejemplos son subcadenas $ {VAR: 1: 2}; & or ;; y <- al final de los modificadores de mayúsculas y minúsculas, y muchas de las palabras clave específicas de bash tampoco se reconocen. Por supuesto, no obtengas uno que sea malo porque HAY ALGUNOS MALOS circulando por ahí, he usado un par que era mucho peor que el sh.vim predeterminado. – osirisgothra