Como habilitar o realce de sintaxe para .bash_aliases no vim?

17

Estou trabalhando na reorganização do meu .bashrc . Mudei meus aliases para .bash_aliases (que é originado por .bashrc , mas não consigo descobrir como ativar o realce de sintaxe para este arquivo. vim parece incapaz de descobrir em que idioma o arquivo se encontra. Ele funciona bom para .bashrc . Alguma idéia?

    
por Matthew 20.08.2010 / 19:21

4 respostas

11

Vá para o vim e execute:

:echo $VIMRUNTIME

Normalmente, o valor será algo como:
/ usr / share / vim / vim72
Em seguida, edite (usando root) o arquivo /usr/share/vim/vim72/filetype.vim
Pesquise por bashrc.
Você encontrará uma linha parecida com esta:

au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,*.bash,*.ebuild call SetFileTypeSH("bash")


Edite a linha e adicione seu nome de arquivo (.bash_aliases) a ela.

É isso aí, agora deve funcionar.

    
por 06.10.2010 / 09:39
11

A resposta está nisto: vimdoc - setf mas para lhe dar um osso, se você só quero a sintaxe & sintaxe destacando para o trabalho que você pode fazer:

  :setf bash

Outra possibilidade que percebi quando respondi a outra pergunta do VIM foi que você também poderia adicionar essa seção ao seu arquivo .vimrc e ativaria automaticamente o realce de sintaxe para o .bash_aliases arquivo toda vez que você editá-lo sem precisar de uma modeline ou ter que digitar manualmente : setf bash sempre que abrir o arquivo.

if has("autocmd")
  augroup bashalias
    autocmd BufRead,BufNewFile .bash_aliases set filetype=bash
  augroup END
endif

Em terceiro lugar, como Mugen Kenichi nos comentários abaixo, você também pode adicionar uma modelina ao arquivo .bash_alias assim:

# vim: set filetype=bash: 
    
por 20.08.2010 / 20:32
1

Adicione a seguinte linha a ~ / .vimrc (crie se não existir).

au BufNewFile,BufRead .bash_aliases call SetFileTypeSH("bash")
    
por 30.05.2014 / 14:30
0

Acompanhe a resposta do @Pharaun para o vim 8 e vários arquivos de alias. Para obter o realce correto, havia duas configurações que eu tinha que fazer. Primeiro no novo arquivo .bash_aliases:

# vim: set filetype=bash

Além do check no meu .vimrc

if has("autocmd")
  augroup bashalias
    autocmd BufRead,BufNewFile *_aliases set filetype=sh
  augroup END
endif

Observe que o tipo de arquivo é sh , bem como o caractere curinga * para vários nomes de arquivos.

Não sei por que essas duas configurações são necessárias. Tentei usar apenas uma configuração, mas ambos os combos foram necessários para que o realce estivesse correto.

    
por 26.01.2017 / 19:52