红联Linux门户
Linux帮助

XShell Vim、终端乱码问题

发布时间:2016-05-27 15:03:38来源:blog.csdn.net/idc_void作者:onebraveman

背景:最近在使用XShell登录服务器时频繁出现Vim乱码、终端乱码问题(ls显示乱码),苦不堪言!昨天终于把XShell乱码原因找出来了。


原因

其实乱码无非就是编码未设置好!但是完全没想到竟然关系到三个编码开关——让我一一道来。

XShell、Vim与终端中编码有关的选项有三个,它们是:fileencodings、encoding 和 termencoding。


解决方法

fileencodings是Vim对文件的编码方式,一般情况下无需修改。查看Vim编码方式可在命令模式下输入:set fileencoding。我的Vim显示是utf-8。

termencoding其实就是XShell的乱码选项,常用的有UTF-8、Chinese Simplified,详见下图。

XShell Vim、终端乱码问题

encoding指的是远程服务器的编码选项,可用命令echo $LANG对系统默认编码选项进行查询。encoding可分为两种,建议使用第二种方式修改:

系统级别
编辑系统文件/etc/default/locale,将LANG选项设置改为LANG="en_US.utf8"

用户级别
对bash用户文件(~/.bashrc or ~/.profile)填加一行来永远改变用户的locale设置。
export LANG=en_US.utf8

自己的设置:

encoding:en_US.UTF-8
termencoding:UTF-8


本文永久更新地址:http://www.linuxdiyf.com/linux/21000.html