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

Sam*_*ing 5 apache vim sudo syntax-highlighting vim-syntax-highlighting

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 语法高亮吗?

谢谢!

inn*_*naM 3

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

在你的.vimrc

set modeline
Run Code Online (Sandbox Code Playgroud)

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

# vi: syntax=apache
Run Code Online (Sandbox Code Playgroud)