当我打开 vim 来处理类似这样的文件时/etc/nginx/sites-available/default
,语法高亮显示效果很好。但是,如果我创建自己的文件,vim 就不会高亮显示其语法。我每次都/etc/nginx/sites-available/myapp
必须这样做。:setf conf
我可以输入什么~/.vimrc
来告诉 vim“如果你不知道使用哪种语法,就使用conf
”?
也欢迎为 vim 新手提供一个.vimrc
模板。我不把它用作 IDE,我主要用 vim 来处理配置文件。
注意:我正在使用 Ubuntu 12,以防万一。
答案1
下面这行代码~/.vimrc
应该可以实现这个目的。
autocmd BufRead,BufNewFile /etc/nginx/sites-*/* setfiletype conf
答案2
实际上,Nginx 文件类型定义在官方 Nginx 存储库在里面贡献/vim目录。它提供了比会议。
要使用它,请复制检测线你的.vimrc(并根据需要进行调整):
au BufRead,BufNewFile *.nginx set ft=nginx
au BufRead,BufNewFile */etc/nginx/* set ft=nginx
au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
au BufRead,BufNewFile nginx.conf set ft=nginx
然后复制nginx.vim你的~/.vim/语法目录。
现在应该突出显示所有遵循上述规则的 Nginx 文件。
如果你也喜欢缩进,你也可以复制缩进目录中的文件进入你的.vimrc。
答案3
获取所需 vim 文件类型的最简单方法是通过模式行在文件顶部指定它。在本例中,在文件的前 5 行中添加以下注释
# vim: set syntax=nginx ft=nginx
有关文件类型和模式行的更多信息请参见此处 http://vimdoc.sourceforge.net/htmldoc/filetype.html http://vimdoc.sourceforge.net/htmldoc/options.html#modeline
答案4
在我的例子中,在小型 Debian 安装中,相关文件已经存在(可能是默认的vim.tiny
),但没有在常规中获取vim
。 用这个很容易修复:
for d in ftdetect ftplugin indent syntax; do
sudo mkdir /var/lib/vim/addons/$d
sudo ln -s /usr/share/vim/addons/$d/nginx.vim /var/lib/vim/addons/$d/nginx.vim
done