5

Sudo Edit (sudo -e) 允许非特权用户安全地编辑文件。为此,它会制作一个文件的临时副本以进行编辑,然后在编辑完成时将其复制过来。

当我正在编辑一个 apache 文件(例如,/etc/apache2/sites-enabled/mysite.com)时,sudoedit vim 无法确定它应该使用 Apache 语法高亮,所以我必须手动 :set syntax=apache . 我怀疑 Vim 的语法高亮规则依赖于文件的完整路径,并且由于 sudoedit 将文件更改为 /var/tmp/mysiteRANDOMCHARS.com 之类的文件,因此它会丢失该路径信息。

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

谢谢!

4

2 回答 2

3

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

在你的.vimrc

set modeline

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

# vi: syntax=apache
于 2013-05-15T11:08:30.037 回答
2

查看/usr/share/vim/vim7x/filetype.vimVim 如何确定文件是apache文件。

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

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

au BufNewFile,BufRead *.com set ft=apache
于 2013-05-15T06:50:26.587 回答