Aplique colorization completo do vim para scripts bash que não possuam linha shebang

0

Portanto, no meu projeto há muitos arquivos de script bash que são originados, mas nunca executados diretamente, então eles não recebem nenhuma linha shebang e nenhum conjunto de bits de execução. O Vim as colore um pouco, mas não usa a colorização completa. Como faço para ajustar o vim para me dar todas as cores normais para esses arquivos?

EDITAR:

Sem shebang:

Comshebang:

EDIT 2:

Existe uma resposta que funciona para as alterações arquivo por arquivo abaixo, e eu irei com isso se isso for tudo que eu puder conseguir, mas o que eu realmente gostaria é modificar um arquivo de configuração ou algo mais no meu instalação vim para que eu sempre obtenha as cores "com shebang" mesmo quando não há shebang. Deve haver um arquivo em algum lugar que defina a colorização incompleta, que eu posso apenas substituir pelo arquivo que define a colorização completa.

EDIT 3:

As variáveis globais do vim definidas não são substancialmente diferentes, como visto nessas imagens (saída de :let g: ):

Ambientes

Difundido

Eu estou meio perdido aqui.

EDIT 4:

Eu despejei todo o ambiente de uma janela com cores adequadas (à esquerda) e uma janela colorida incorreta (à direita) e os diferenciei, encontrando o seguinte:

60 b:current_syntax       bash   |   61 b:current_syntax       conf

Então, por algum motivo, ele acha que meus arquivos fonte sem garantia são arquivos conf. Então eu preciso descobrir como combiná-los para bater em seu lugar.

    
por ACK_stoverflow 11.06.2015 / 02:48

2 respostas

2

Executar :setf sh

Você pode querer colocar isso no topo dos arquivos (se você não quiser shebang):

# vim:ft=sh
    
por 11.06.2015 / 03:01
0

Coloque

let g:is_bash      = 1

no seu .vimrc . Isso define o tipo de arquivo padrão para scripts de shell desconhecidos para bash . Veja a explicação completa em : help ft-bash-syntax

Para aqueles curiosos sobre os internos, pelo menos na minha instalação do Vim 7.4, g:is_bash é testado em um autocommand em $VIM/vim74/filetype.vim , que define b:is_bash de acordo. O arquivo de sintaxe $VIM/vim74/syntax/sh.vim , em seguida, testa b:is_bash para decidir como destacar o arquivo.

    
por 11.06.2015 / 17:41