如果我在/etc/apache2/sites-available/www.example.com上有一个apache文件,我设置它的文件类型就像这样
:set filetype=apache
那是做什么的?这会改变文件吗?它只反映在vim的实例中吗? vim会议?我可以手动设置文件类型,但随后vim警告我我处于只读模式(/ etc / apache2需要root访问权限).如果我以root身份打开vim,我将不会收到警告,但如果我离开并再次打开它(正常或root),文件类型就会消失.如何使其更加永久,至少从同一会话文件调用时
解决方法
set filetype通过调用所有FileType自动命令来改变vim处理文件的方式.它不会持久.如果要始终使用filetype = apache打开该文件,请尝试将其添加到.vimrc中:
au BufRead,BufNewFile /etc/apache2/sites-available/www.example.com set filetype=apache
您可以在以下位置了解更多信息:
:help 'filetype' :help filetypes :help :autocmd :help .vimrc
编辑:在我的/usr/share/vim/vim73/filetype.vim中找到:
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache') au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
s:如果文件类型与忽略的模式不匹配,StarSetf将setfiletype设置为apache.在我的系统上,:echo g:ft_ignore_pat将仅显示已忽略的归档文件扩展名. setfiletype确实设置了filetype,但只设置了一次.
所以,至少在我的系统上,模式* / etc / apache2 / sites – * / *会捕获你的文件名并使其成为一个apache文件.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。