如何让 vim 使用另一个文件位置的语法高亮?

如何让 vim 使用另一个文件位置的语法高亮?

我从不使用sudo vim /path/to/some.file;我总是使用sudoedit。但是,这意味着 vim 看不到正确的路径。例如,当我打开 时/etc/http/conf/httpd.conf,sudoedit 会复制 httpd.conf,然后使用 vim 打开它。因此,vim 看到的不是该文件,而是"/var/tmp/httpdXX3H43AK.conf"(例如)。这意味着 vim 的语法高亮系统看不到正确的文件类型。如果我只是打开文件而不使用 sudo(因此没有写权限),vim 会看到文件位置并决定语法高亮文件类型需要是 apache。但是,由于它不在该位置,因此它无法获取 apache 语法类型并获取文件类型 conf。

我正在寻找某种方式(命令行开关?)来告诉 vim(更具体地说,语法突出显示)“此文件应被视为位于其他位置”。我可以手动运行,:se syntax=apache突出显示会恢复到应有的状态。但是,这需要我知道正确的语法,而且这是一个额外的步骤,我认为我不应该采取。有人知道某种使用 sudoedit 并让它使用正确文件位置的方法吗?

环境:CentOS 7.1,vim版本:vim-enhanced-7.4.160-1.el7.x86_64

答案1

添加set modeline到您的vimrc,然后在您的末尾添加如下一行httpd.conf

# vim: filetype=apache

当然,你也可以对其他文件执行此操作。:help auto-setting有关更多信息,请参阅。

相关内容