Sudo Edit(sudo -e)允许没有特权的用户安全地编辑文件。为实现此目的,它会创建要编辑的文件的临时副本,然后在编辑完成后将其复制。
当我编辑apache文件时(例如/etc/apache2/sites-enabled/mysite.com),sudoedit vim无法弄清楚它应该使用Apache语法高亮显示,所以我必须手动:设置语法= apache的。我怀疑Vim的语法突出显示依赖于文件的完整路径,并且由于sudoedit将文件更改为/var/tmp/mysiteRANDOMCHARS.com,因此它会丢失该路径信息。
有没有办法让我自动告诉Vim它应该使用apache语法高亮?
谢谢!
答案 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