vi/vim显示中文字符并且去掉^M的方法

处理项目xml配置时vim打开经常会碰到中文显示不正常的现象,也就是传说中的乱码,搜索找到一个解决办法,记录一下,但是gbk编码的正常了,utf8的又不对了。于是稍微改了一点。
用户目录下创建.vimrc文件
加入

          set fileencodings=utf-8,gb2312,gbk,gb18030
          set termencoding=utf-8
          set fileformats=unix
          set encoding=prc

fileencodings中utf-8要在前面
这样就能正常显示中文了。配合pietty,可以完全正常显示、编辑中文了。

几种去除^M的方法
1、cat filename1 | tr -d "\r" > newfile
2、 sed -e "s/^V^M//" filename > outputfilename
3、vi: 用vi打开文件
(1) 按ESC键
(2) 输入 :%s/^M//g
确定 ^M是使用 "CTRL-V CTRL-M" 而不是字面上的 ^M。这个正则式将替换所有回车符前的 M为空($是为了保证M出现在行尾)4、一些linux版本有 dos2unix 程序,可以用来祛除^M
4、用vim
输入 :set notextmode

可惜,经过上面的处理以后,^M是不存在了,但是换行不成功。所有的东西都在一行上面,看着很费劲。这说明处理的时候文件缺少"\n",可以在替换的时候添加上即可:
cat filename | tr "\r" "\n" > newfile

注:^M 可以用Sublime Text编辑器查看

原文链接:http://keepmovingxin.com/archives/34

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,524评论 9 467
  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 3,202评论 0 3
  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 1,830评论 1 13
  • 目录(?)[-] 关于Vim 1 Vim的几种模式 启动Vim 文档操作 光标的移动 1 基本移动 2 翻屏 3 ...
    SunnyLeong阅读 8,734评论 0 32
  • for value in range(1,21): print(value) list_value = list(...
    LorryZ阅读 554评论 0 0