O arquivo de configuração do Apache para o meu site é nomeado mywebsite.com
. Aparentemente, a extensão .com
está fazendo com que o vim defina o tipo de arquivo errado, o dcl
que torna a sintaxe destacada também. Todos os meus outros arquivos de configuração do host são identificados corretamente como arquivos Apache.
Eu sou capaz de :set filetype=apache
e tudo parece ótimo, mas quando depois de fechar o vim e voltar para editar o tipo de arquivo está de volta dcl
.
Além de renomear meu arquivo de configuração do host, existe uma solução para isso? Existe uma maneira de fazer com que o vim se lembre do tipo de arquivo desse arquivo em particular? Ou melhor ainda, existe uma maneira de corrigir essa detecção de tipo de arquivo errado?
vim
apache-http-server
filetype
billynoah
fonte
fonte
/usr/share/vim/
: todo o seu material personalizado deve estar no seu~/.vimrc
arquivo e~/.vim/
diretório./usr/share/vim/
está abaixo é suscetível de ser substituído durante a próxima atualização; Deseja que suas alterações desapareçam sem ter como recuperá-las? 2. O objetivo desse diretório é fornecer um ambiente de linha de base; mexer com isso afeta a estabilidade e o comportamento do Vim de maneiras imprevisíveis. Sua mudança é provavelmente inócua, mas qualquer mudança futura pode não ser. 3. Você tem um lugar especial sob seu controle, onde pode fazer o que quiser para alterar o comportamento do Vim com segurança e sem a necessidade de direitos de administrador, use-o. 4.~
é onde você tradicionalmente faz toda a sua configuração; use-o.Respostas:
Uma maneira é adicionar uma modelagem ao início ou final do arquivo. Uma modelagem básica do Vim se parece com isso:
O próprio caractere de comentário é ignorado pelo Vim. Há também uma sintaxe alternativa que também permite os seguintes caracteres de comentário:
O Emacs e alguns outros editores usam
-*- mode: apache -*-
.Se você deseja substituir a detecção do tipo de arquivo por extensão, adicione o seguinte ao seu
~/.vim/filetype.vim
:(Não tenho certeza se
setf apache
ousetl ft=apache
é melhor.)Observe que a detecção não está totalmente errada, é apenas imprecisa. O sistema operacional OpenVMS usa
.com
como extensão os arquivos de "comando" - como scripts de shell ou arquivos em lote - e eles são escritos na linguagem de shell do OpenVMS, DCL ( DIGITAL Command Language ).fonte
Como fazer isso é descrito no manual de referência interno do Vim, em
Conforme explicado na seção C.2., Crie um arquivo nomeado
~/.vim/filetype.vim
com este conteúdo:Isso reconhecerá qualquer arquivo que termine
.com
como tipo de arquivo apache. Se você deseja apenasmywebsite.com
ser reconhecido, altere essaau
linha parafonte
Como complemento às respostas abaixo, gostaria de compartilhar o que fiz no final, que é modificar o arquivo de configuração principal /usr/share/vim/vim73/filetype.vim em:
para
Sei que isso pode não ser apropriado para todos os usuários, principalmente se você planeja escrever scripts dcl, mas, no meu caso, isso é bom.
Nota: migrei isso de uma edição na minha pergunta para uma resposta adequada. No momento em que escrevi, não tinha representante suficiente para adicionar uma resposta, mas agora tenho. O usuário @romainl apresentou alguns motivos válidos para não fazer isso dessa maneira no comentário da minha pergunta acima, mas pelo menos acho que isso é útil porque ajuda a esclarecer a origem dessas associações de tipos de arquivos.
fonte