编辑Nginx配置文件时如何设置Vim文件类型


17

当我打开vim文件时/etc/nginx/sites-available/default,语法高亮显示正常。但是,如果我创建自己的文件/etc/nginx/sites-available/myapp,vim不会突出显示其语法。我:setf conf每次都要做。

我有什么可以~/.vimrc告诉vim“如果您不知道要使用哪种语法,请使用conf”?

.vimrc对VIM小白模板也欢迎。我没有将其用作IDE,而是将vim仅用于配置文件。

注意:我在使用Ubuntu 12,以防万一。


我更改了标题以更准确地反映您要做什么,并在此处重新提出问题,因为在一般情况下这可能很有用:serverfault.com/a/390801/2101
MikeyB,2012年

就我所知,vim仅仅通过查看代码并猜测语言就可以进行语法高亮显示,所以我不知道或不关心“文件类型”。问题的主要部分是我希望它默认为“默认”。我已经知道如何“在编辑时设置语言/文件类型”。另外,无论是用于nginx还是其他任何东西,都是无关紧要的。随心所欲,我从来不明白为什么服务器故障人员决定关闭或编辑问题(也许是SEO?)。除非语法上错误,否则原始标题反映了我的问题。
HappyDeveloper 2012年

3
可能有趣:vim.org/scripts/script.php?script_id=1886(我使用它,它很不错,# vim:syn=nginx在配置底部添加a )
SingleNegationElimination

@HappyDeveloper:之所以编辑它,是因为您接受的答案表明“哦,我确实是在尝试这样做。” 现在,将来的访问者将能够搜索'default vim文件类型'或'default vim语法'并获得正确答案,而不会因此而沮丧,因为接受的答案并未说明如何完成问题的标题。另外,现在您还知道如何设置默认文件类型:)
MikeyB 2012年

@MikeyB新标题甚至不使用单词“ default”。原来的一个。
HappyDeveloper 2012年

Answers:


26

在下面的行中~/.vimrc应该这样做。

autocmd BufRead,BufNewFile /etc/nginx/sites-*/* setfiletype conf

轻微校正autocmd BufRead,BufNewFile / etc / nginx /

1
vim.org/scripts/script.php?script_id=1886提供比conf文件类型更好的语法突出显示。如果您使用Vundle,请尝试Plugin 'vim-scripts/nginx.vim'
亚当·蒙森

对于所有.conf文件,我将命令输入为:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz

26

实际上,在contrib / vim目录的官方Nginx存储库中定义了一种Nginx文件类型。它比conf提供更好的语法突出显示。

要使用它,请将检测行复制到您的.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 / syntax目录。

现在应突出显示遵循上述规则的所有Nginx文件。

如果还要缩进,也可以将文件从缩进目录复制到.vimrc中

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.