有权限但是没法保存问题
E513: write error, conversion failed (make 'fenc' empty to override)"
原因:新建的文件编码有问题。
解决办法:
先查看一下当前的编码:
:set fenc?
如果不是utf-8的编码格式,用下面的命令改成utf-8的格式
:set fileencoding=utf-8
针对使用vim打开某个页面出现乱码的遭遇,下面将介绍一下linux下字符集编码问题:
将vim配置自动识别多个编码:
在~目录下打开.vimrc文件,在文件中增加如下配置:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936,gbk,gb18030,gb2312
该配置的作用是,让vim编辑器默认使用utf-8编码打开文件,如果是乱码,则vim会自动使用fileencodings中使用的编码。
在vim中查看某个文件的字体编码『:set fileencoding』
将文件编码格式转换命令:iconv
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码 信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息样例:iconv -f utf-8 -t gb2312 /server_test/reports/software_.txt > /server_test/reports/software_asserts.txt
注意线上配置文件的字符编码一般都为cp936和gb18030
如果你的.vimrc配置中是如下配置:
set ts=4set sts=4set sw=4set expandtabset autoindentset smarttabset smartindent
那么你的vim默认就是tab键为四个空格,同时开启了自动注释。
此时,如果发现复制配置文件时,总是默认将所有行都加上『#』,可以在vim中使用如下命令:
:set fo-=r
:set noautoindent
表示关闭自动注释,如果想重新打开自动注释,使用如下命令:
:set fo=r :set autoindent
如果想让tab键在某个文件中临时变成\t,可以使用set noexpandtab
如果想看隐藏字符,可以使用set invlist :