加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在vim中更改文件类型时会发生什么?

发布时间:2020-12-15 20:57:51 所属栏目:安全 来源:网络整理
导读:如果我在/etc/apache2/sites-available/www.example.com上有一个apache文件,我设置它的文件类型就像这样 :set filetype=apache 那是做什么的?这会改变文件吗?它只反映在vim的实例中吗? vim会议?我可以手动设置文件类型,但随后vim警告我我处于只读模式(/
如果我在/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文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读