bash vim file-type

bash - ¿Cómo hacer que Vim detecte el tipo de archivo de la línea shebang?



file-type (4)

Si está interesado en un complemento, existe uno para esto:

https://github.com/vitalk/vim-shebang

Esto contiene un patrón para el node -> javascript resaltado de node -> javascript .

AddShebangPattern! javascript ^#!.*/s/+node/>

A veces escribo scripts sin ninguna extensión de nombre de archivo. Por ejemplo:

#!/usr/bin/env node console.log(''hello world!'');

Espero que Vim pueda detectar el tipo de archivo de la línea shebang (por ejemplo, #!/usr/bin/env node es javascript ). ¿Qué debería poner en filetype.vim ?


Siguiendo las instrucciones enumeradas en :help new-filetype-scripts , cree el archivo scripts.vim en el directorio de tiempo de ejecución del usuario ( ~/.vim en sistemas tipo Unix) y escriba el siguiente script en él.

if did_filetype() finish endif if getline(1) =~# ''^#!.*/bin/env/s/+node/>'' setfiletype javascript endif


Un poco tarde para la fiesta, pero Node.vim maneja la detección de dichos archivos JavaScript por usted. Y algo más. :-)


crea este archivo ~/.vim/ftdetect/node.vim con este contenido

fun! s:DetectNode() if getline(1) == ''#!/usr/bin/env node'' set ft=javascript endif endfun autocmd BufNewFile,BufRead * call s:DetectNode()