Vim não reconhece um script bash

1. Vim não reconhece um script bash

Elder Marco
eldermarco

(usa Fedora)

Enviado em 20/01/2011 - 23:52h

Senhores,

Recentemente comecei a escrever um script em bash e comecei a ter problemas coma edição dele no Vim. Como esse script será carregado por outro, eu não adicionei um

#!/bin/bash

Na primeira linha (irei dar um source nele). Mais do que isso, também não coloquei a extensão .sh. Para que vim o carregasse corretamente os recursos de syntax highlight, eu fiz uso de modelines. Segue abaixo o que coloquei na última linha do meu arquivo:

# vim:syntax=sh:expandtab:tabstop=4:shiftwidth=4

Certo, o recurso é carregado e tal.. mas não é exatamente como se eu tivesse colocado um #!/bin/bash. Pra começar, se eu colocar um $() ele vai deixar esses simbolos em vermelho. Algumas palavras reservadas (como 'local') não são destacadas, dentre outros problemas. Para resolver isso, eu tenho de entrar em modo de comando e colocar:

:call SetFileTypeSH("bash")

Toda santa vez que abro o arquivo. Existe alguma maneira de deixar a vida mais simples usando um modeline também? Eu tentei, mas nada deu certo.. e não queria colocar isso no meu ~/.vimrc porque outras pessoas podem querer mexer nele e terão o mesmo problema..

Sugestões?


  


2. Tente...

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 21/01/2011 - 09:46h

Basta que você especifique o tipo do arquivo (filetype).

vim:filetype=sh:expandtab:tabstop=4:shiftwidth=4

Porém no teu caso, o Vim irá utilizar por padrão a sintaxe do 'Bourne-shell' original, ao invés da 'Bourne Again Shell' (bash), por isso algumas palavras reservadas não serão destacadas (ex: local). Se quiser tentar contornar isso você deverá adicionar ao '.vimrc' o seguinte:

let g:is_bash = 1

Com isso você força o Vim a utilizar a sintaxe do bash para todos os arquivos do tipo shell script.


3. Re: Vim não reconhece um script bash

Elder Marco
eldermarco

(usa Fedora)

Enviado em 21/01/2011 - 10:23h

Então, da maneira como eu postei também funciona. O problema é justamente não ser o Bourne Again Shell e eu não querer adicionar essas opções no ~/.vimrc e sim definá-la no próprio arquivo, se for possível..






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts