文件编码相关

有权限但是没法保存问题

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 :

你可能感兴趣的:(文件编码相关)