Vim:Sudo Edit打破Apache语法突出显示

时间:2013-05-15 06:28:46

标签: apache vim syntax-highlighting sudo vim-syntax-highlighting

Sudo Edit(sudo -e)允许没有特权的用户安全地编辑文件。为实现此目的,它会创建要编辑的文件的临时副本,然后在编辑完成后将其复制。

当我编辑apache文件时(例如/etc/apache2/sites-enabled/mysite.com),sudoedit vim无法弄清楚它应该使用Apache语法高亮显示,所以我必须手动:设置语法= apache的。我怀疑Vim的语法突出显示依赖于文件的完整路径,并且由于sudoedit将文件更改为/var/tmp/mysiteRANDOMCHARS.com,因此它会丢失该路径信息。

有没有办法让我自动告诉Vim它应该使用apache语法高亮?

谢谢!

2 个答案:

答案 0 :(得分:2)

请参阅/usr/share/vim/vim7x/filetype.vim,了解Vim如何确定文件是apache文件。

在我的配置中,使用$ vim$ sudo -e没有任何区别,因为.com扩展名无论如何都被视为dcl

除了覆盖.com中的~/.vimrc自动命令之外,我没有看到一种聪明而可靠的解决方法:

au BufNewFile,BufRead *.com set ft=apache

答案 1 :(得分:2)

这听起来像是vi模式行功能的罕见用例之一:

.vimrc

set modeline

在你的Apache配置文件中,位于顶部或底部:

# vi: syntax=apache