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

vim上经常会碰到中文显示不正常的现象,也就是传说中的乱码。搜索了一下,在 http://www.chinalinuxpub.com/bbs/showthread.php?t=45475 找到了一个解决办法。但是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

5、用vim

输入 :set notextmode

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

cat filename | tr "\r" "\n" > newfile

时间: 2024-11-11 20:38:10

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

Linux 下MySQL显示中文字符

1.首先停止MySQL服务:sudo /etc/init.d/mysql stop 2.然后编辑MySQL配置文件:sudo gedit /etc/mysql/my.cnf 在my.cnf文件中的[client]段下面加入 default-character-set=utf8[mysqld_safe]default-character-set=utf8[mysqld]default-character-set=utf8[mysql]default-character-set=utf8 重新启动M

解决了一个困扰我近一年的vim显示中文乱码的问题

今天解决了vi命令打开日志文件中文总是显示乱码的问题.由于项目组中的日志包含一些特殊字符,所以使用vim打开日志文件时总是不能正确识别出文件字符编码.此时用:set fileencoding命令可以看出vim把文件编码识别成latin1. 在这种情况下无论终端设置成gbk还是utf-8编码,都不能正确显示中文. 解决方法有两个: 1 使用:e ++enc=utf-8命令强制让vim以utf-8编码重新打开文件 注意:由于我们程序有时也会输出gbk编码的中文字符日志,所以有时还会有少量乱码. 2

VI/VIM提示没有权限保存时的解决方法

有些时候当我们使用vi/vim编辑文件时如果没有注意到文件权限的时候,当最后进行保存时候的可能会提示以下错误,如果强制退出后再切换用户,肯定会丢失当前的改动,下面我就给大家分享一种不用退出保存文件的方法. 1.再vi/vim编辑器进入冒号,然后输入以下命令 %! sudo tee % /dev/null 2.此时会提示输入sudo用户的密码: 3.如果切换成功后,出现的提示信息后面,输入大写的L键. 4.文件保存成功后,直接输入:q就可以退出. 注意:此项操作方法前提是你当前用户可以使用sudo

Zabbix显示中文或图片为乱码--解决方法

Web UI 修改为中文: 1.进行zabbix系统后选择:Administration,在子菜单中选择:Users: 2.在最右列的:User groups更改为Users; 3.选择:Admin 点击 4.在下面的:Language中选择:Chinese(zh_CN) 5.点击:Save 6.刷新网页即可 如果还是不行可以尝试以下方法: # sed -i '/zh_CN/ s/false/true/' /var/www/html/zabbix/include/locales.inc.php 

win使用telnet到ubuntu下vim显示中文为乱码的解决方法~

1.几个路径: ubuntu: /etc/default/locale  相当于 centos:/etc/sysconfig/i18n vimrc的路径:① ~/.vimrc    ② /etc/vim/vimrc 2. 解决方法: ①添加语言支持 $sudo vim /var/lib/locales/supported.d/local# 添加下面的中文字符集zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030使其生效:$sudo dpk

linux下终端,vim显示中文为乱码

这个问题,主要还是一些环境变量设置不对导致. 主要修改的文件包括: 1./var/lib/locales/supported.d/local 2./etc/environment 3.~/.vimrc 首先, sudo  vim /var/lib/locales/supported.d/local    en_HK.UTF-8 UTF-8    en_US.UTF-8 UTF-8    zh_CN.UTF-8 UTF-8    zh_CN.GBK   GBK     #增加    zh_CN.G

CentOS 7 vim显示中文乱码

使用xshell的时候,发现有时候中文显示有乱码,一开始以为是Xshell没设置好,后来检查了一下xshell<<文件<<属性<<终端:右侧编码,显示的是Unicode(UTF-8),没问题. 然后才反应过来是使用vim的时候有中文乱码,问题出在vim上,对于CentOS应该修改/etc/vimrc文件,在该文件头上添加下面四行代码: set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 se

Vi||Vim显示行号,自动缩进,调整tab键宽度技巧

vim 中一个tab的宽度太大,debian系统,没改之前是宽度是8个字符,想改成4,如下: vim ~/.vimrc 添加如下几行:(括号中的不是,是我添加的) set shiftwidth=4 "表示每一级缩进的长度 set softtabstop=4 "表示在编辑模式的时候按退格键的时候退回缩进的长度 set nu "显示行号 set autoindent "自动缩进 :wq 保存退出. source ~/.vimrc ? ? ? ? ? ? ?(使配置文件生

解决CentOS7 VIM显示中文乱码的问题

使用vim的时候有中文乱码,问题出在vim上,对于CentOS应该修改/etc/vimrc文件,在该文件头上添加下面四行代码: set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set fileformats=unix set encoding=prc 保存即可. 注:有些版本Linux需要修改的文件可能是:~/.vimrc 更改配置文件之前,最好将vimrc文件进行备份,进入/etc/ 目录下,执行 cp vim