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()