Como eu faço o vim usar o realce de sintaxe de outro local de arquivo?

0

Eu nunca uso sudo vim /path/to/some.file ; Eu sempre uso sudoedit . No entanto, isso significa que o vim não vê o caminho correto. Como exemplo, quando eu abro /etc/http/conf/httpd.conf , o sudoedit faz uma cópia do httpd.conf e então usa o vim para abrir isso. Então, em vez de ver esse arquivo, ele vê "/var/tmp/httpdXX3H43AK.conf" (por exemplo). Isso significa que o sistema de destaque de sintaxe do vim não vê o tipo de arquivo adequado. Se eu fosse simplesmente abrir o arquivo sem usar sudo (e, portanto, sem acesso de gravação), o vim veria a localização do arquivo e decidiria que o tipo de arquivo de realce de sintaxe precisa ser o apache. No entanto, como não está nesse local, ele não obtém o tipo de sintaxe do apache e obtém um tipo de arquivo de conf.

Eu estou procurando de alguma forma (uma opção de linha de comando?) para dizer vim (e, mais especificamente, o realce de sintaxe) "este arquivo deve ser tratado como se estivesse neste outro local." Eu posso executar manualmente :se syntax=apache e o realce está de volta ao que deveria ser. No entanto, isso requer que eu saiba a sintaxe correta e é um passo extra que eu não acho que deveria ter de fazer. Alguém sabe alguma maneira de usar o sudoedit e obtê-lo para usar o local correto do arquivo?

Contexto: CentOS 7.1, versão vim: vim-enhanced-7.4.160-1.el7.x86_64

    
por Kevin M 23.08.2015 / 04:09

1 resposta

2

Adicione set modeline ao seu vimrc e adicione uma linha como esta ao final do seu httpd.conf :

# vim: filetype=apache

Claro, você também pode fazer isso com outros arquivos. Veja :help auto-setting para mais informações.

    
por 24.08.2015 / 13:42