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 dpkg-reconfigure locales
②vi ~/.vimrc(如果vi /etc/vim/vimrc的话,不知道为什么满屏都是高亮的屏蔽字 = =!)
③
set fileencodings=utf-,gbk
set termencoding=utf-,gbk (这里gbk是我自己添加的,因为使用的系统是xp,xp内部使用的编码为gbk,termencoding这个字段又是跟终端显示编码有关)
set encoding=prc
3.编码的基础知识 in case i forget this someday
Vim中有几个选项会影响对多字节编码的支持:
①encoding(enc):encoding是Vim的内部使用编码,encoding的设置会影响Vim内部的Buffer、消息文字等。在 Unix环境下,encoding的默认设置等于locale;
Windows环境下会和当前代码页相同。在中文Windows环境下encoding的 默认设置是cp936(GBK)。
②fileencodings(fenc):Vim在打开文件时会根据fileencodings选项来识别文件编码,fileencodings可以同时设置多个编码,Vim会根据设置的顺序来猜测所打开文件的编码。
③fileencoding(fencs) :Vim在保存新建文件时会根据fileencoding的设置编码来保存。如果是打开已有文件,Vim会根据打开文件时所识别的编码来保存,除非在保存时重新设置fileencoding。
④termencodings(tenc):在终端环境下使用Vim时,通过termencoding项来告诉Vim终端所使用的编码。
Vim中的编码转换 Vim内部使用iconv库进行编码转换,如果这几个选项所设置的编码不一致,Vim就有可能会转换编码。打开已有文件时会从文件编码转换到encoding所设置的编码;
保存文件时会从encoding设置的编码转换到fileencoding对应的编码。经常会看到Vim提示[已转换],这是表明Vim内部作了编码转换。
终端环境下使用Vim,会从termencoding设置的编码转换到encoding设置的编码。
ps:可以用|:help encoding-values|列出Vim支持的所有编码。
4. 改变已存在文件的编码方法:
① 比如将GBK的格式转换成utf-8格式:
方法:先打开文件,使用命令::set fileencoding=utf-
②使用iconv命令:
[root@www ~]# iconv --list
[root@www ~]# iconv -f 原本编码 -t 新编码 filename [-o newfile]
选项与参数:
--list :列出 iconv 支持的语系数据
-f :from ,亦即来源之意,后接原本的编码格式;
-t :to ,亦即后来的新编码要是什么格式;
-o file:如果要保留原本的档案,那么使用 -o 新档名,可以建立新编码档案。 范例一:将 /tmp/vitest/vi.big5 转成 utf8 编码吧!
[root@www ~]# cd /tmp/vitest
[root@www vitest]# iconv -f big5 -t utf8 vi.big5 -o vi.utf8
[root@www vitest]# file vi*
vi.big5: ISO- text, with CRLF line terminators
vi.utf8: UTF- Unicode text, with CRLF line terminators
PS:引用自《鸟哥的私房菜》~~~
5.参考资料:
http://blog.chinaunix.net/uid-26808060-id-4338345.html
http://www.cnblogs.com/xkfz007/archive/2011/11/17/2252019.html
win使用telnet到ubuntu下vim显示中文为乱码的解决方法~的更多相关文章
- ubuntu下Qt cannot find -lGL错误的解决方法 (转载)
在ubuntu下使用Qt 编译时候遇上了cannot find -lGL错误,使用命令 sudo apt-get install libqt4-dev或者sudo apt-get install li ...
- ubuntu中wifi显示被硬件禁用的解决方法
本人使用的电脑是华硕X550C,安装了ubuntu16.04版本. 联网的时候显示“wifi已经通过硬件开关禁用”.按Fn+F2无法开启wifi.通过rfkill命令无法也无法开启wifi. 经过了解 ...
- ubuntu下QT输出程序控制台界面难看的解决方法
这几天在ubuntu下装了QT5,但输出程序界面后,简直无法入目 于是,随便乱找后,终于找到解决方法 打开选项 在终端那行改下就行
- 关于Ubuntu下is not in the sudoers file解决方法
当我在postgres用户下去执行sudo vim demo.sql需要用管理员权限运行时,并且输入本用户的密码,但是输入之后提示如下: postgers is not in the sudoers ...
- [转]windows下和Ubuntu下adb找不到设备的解决方法
最近在做flash手机项目,用fb选择android设备调试,总会出现找不到设备的情况.看了很多帖子都解决不了问题,后来终于研究出来是adb无法找到设备的问题.最后通知这篇帖子终于解决了问题. 使用电 ...
- Ubuntu下root账户无法使用xshell远程连接解决方法
以前使用xshell连接服务器跑程序都很顺利,但这次整了一个root账户,发现居然连不上.百度一下,发现ubuntu系统本身是拒绝root账户远程连接的. 解决办法:参考点击传送门
- 关于ubuntu下看视频中文字幕乱码的问题
试了几个播放器都不行.....然后把字幕文件打开后重新保存成utf-8的.... 可以了!!!! 天呐改编码真是一个万能的办法~ 随手记
- ubuntu下的pycharm4中文路径乱码
修改字体: 设置(settings)->外观与行为(appearance & behavior) -> 外观(appearance) ->我选择的主题是Darcula 但其字 ...
- ubuntu解压zip文件出现乱码情况解决方法
使用 unzip datastructure.zip 出现下面的情况: extracting: └╧╗╞/╗·╞ў╤з╧░╝п╜ї/╩¤╛▌╜с╣╣╙ы╦у╖и/╩¤╛▌╜с╣╣╙ы╦у╖иги2гй ...
随机推荐
- ubuntu 64位设置兼容32位 for ADB 命令无法运行
在虚拟机上Ubuntu系统里安装ADT开发工具,配置好环境后导入Android工程报错: 找不到Adb命令: ubuntu 12.04 64位设置兼容32位的实现REF:http://www.2cto ...
- Oracle中的Truncate和Delete语句
Oracle中的Truncate和Delete语句 首先讲一下,truncate命令: 语法:TRUNCATE TABLE table; 表格里的数据被清空,存储空间被释放. 运行后会自动 ...
- ##DAY12 UITableViewCell自定义
##DAY12 UITableViewCell自定义 #pragma mark -------自定义视图步骤--------- 自定义视图步骤: 1)在自定义cell类中,将所有cell要显示的子视图 ...
- cocostudio导出plist文件
今天在用Armature类时用到cocostudio导出文件,由于美术的原因他使用的是中文命名法(这你敢相信),后面在导入程序中跟了下代码发现是解析plist文件有误,我就来比较正常功能文件和有错文件 ...
- C++学习之运算符重载的总结
C++学习之运算符重载的总结 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用域不同类型的数据导致不同行为的发生,C++为运算符重载提供了一种方法,即运算符重载函数 ...
- StringBuffer&Runtime demo
public class StringBufferDemo02 { public static void main(String[] args) { StringBuffer ...
- css vertical-align全解
CSS 的属性 vertical-align 指定了内联(inline)元素或表格单元格(table-cell)元素的垂直对齐方式. 要记住:vertical-align不影响块级元素中内容的对齐. ...
- jquery简单判断PC端还是移动端
$(function(){ if (!navigator.userAgent.match(/mobile/i)) { //PC端 }else{ //移动端 } })
- 12.04 如何更专业的使用Chrome开发者工具
顾名思义Chrome开发工具就是一个工具,它允许Web开发人员可以通过浏览器应用程序干预和操作Web页面,也可以通过这个工具调试和测试Web页面或Web应用程序.有了这个工具,你可以做很多有趣的事情: ...
- Google市场推广统计
Google Play作为Android最大的应用市场,也存在这推广等常用的行为,那么如何统计呢,Google Analytics SDK或者其他的SDK都提供了方法,实际上是可以不需要任何sdk,完 ...