在使用vim编辑时碰到了中文乱码时,进入用户编辑vim的配置文件,增加了以下几行内容:本文地址:http://www.04007.cn/article/1202.html,未经许可,不得转载.
#vim ~/.vimrc set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set fileformats=unix set encoding=prc本文地址:http://www.04007.cn/article/1202.html,未经许可,不得转载.
再打开文件时,中文乱码问题解决了,但一看不对劲啊。发现每行的末尾都显示了^M这个东西。这一看肯定是个\r\n之类的特殊字符显示出来的东东。为什么会显示呢?又怎么去掉^M呢?原因就是上面为解决中文乱码时加的这行:set fileformats=unix 导致的。本文地址:http://www.04007.cn/article/1202.html,未经许可,不得转载.
因为linux里的程序文件是windows上传上去的,即这些文件都是dos格式的,而vim被配置为fileformat=unix,dos格式的换行符(也就是<CR><LF>)比unix格式的换行符为<LF>多出了一个<CR>,也就是显示的^M。所以需要去掉set fileformats=unix,让它使用它的默认值也就是set fileformats=unix,dos 即可。这样也就不显示^M符号,实际并没有去掉<CR>字符。本文地址:http://www.04007.cn/article/1202.html,未经许可,不得转载.
vim就自动识别文件的格式,但如果你的文本文件中既有unix的换行符,又有dos格式的换行符,vim有可能会认为你打开的是unix格式文件,这时那些dos的换行符就会出现^M。可以通过如下办法告诉unix指定用哪种格式显示和保存文件:
1)vim版本大于7.1,要用dos显示和保存,使用语句 :e ++ff=dos
2)vim版本小于等于7.1,要用dos格式显示和保存,使用语句::set ff=dos :%s/\r\+$//e
3)若你的vim版本小于等于7.1,要用unix格式显示和保存,使用语句::set ff=unix :%s/\r\+$//e本文地址:http://www.04007.cn/article/1202.html,未经许可,不得转载.
以前有篇有过相关的记录,不过没有这个全: http://www.04007.cn/article/316.html 本文地址:http://www.04007.cn/article/1202.html,未经许可,不得转载.
常用Vim环境设置参数和功能描述如下,可以在初始化linux服务器时直接在~/.vimrc 文件里写入,省事。
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 #设置编码格式,encoding 选项用于缓存的文本、寄存器、Vim 脚本文件等; #fileencoding 选项是 Vim 写入文件时采用的编码类型; #termencoding 选项表示输出到终端时采用的编码类型。 set encoding=utf-8 #取消行号可使用 set nonu。 set nu #突出显示当前行。 set cursorline set mouse=a set selection=exclusive #Vim 编辑器里默认是不启用鼠标的,通过此设置即可启动鼠标 set selectmode=mouse,key #设置自动缩进,即每行的缩进同上一节相同。 set autoindent 设置 Tab 键宽度为 4 个空格。 set tabstop=4本文地址:http://www.04007.cn/article/1202.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1202.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |