vim编码问题
* clipboard |
* ^ |
* | (2) |
* V |
* +---------------+ |
* (1) | | (3) |
* keyboard ----->| core |-----> display |
* | | |
* +---------------+ |
* ^ |
* | (4) |
* V |
* file |
1: 硬盘中的文件
2: 以字符流形式Load到内存
3: 根据fileencodings确定fileencoding
4: 将fileencoding转为encoding
5: 将encoding转为termencoding
6: 以termencoding输出在终端
一般只要设置encoding就好,
其他不设置就是默认都跟encoding一样。
可以在vim运行时使用set encoding=utf8临时设置。
也可以在/etc/vimrc中永久修改,
因为在运行vim之前,都会先跑这个脚本。
~/.viminfo中有历史操作命令
系统编码问题
这里主要是cat、more等命令的流程。
1: 硬盘中的文件
2: 以字符流形式Load到内存
3: 以系统编码输出在终端
使用locale可以看到系统编码,
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
其中优先级是LC_ALL > LC_* > LANG,
也就是说LANG是默认值。
修改方法1
vi /etc/sysconfig/i18n
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
LANG 系统编码
SUPPORTED 表示兼容的编码
SYSFONT 控制台的字体
修改方法2
vi /etc/profile
export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
/etc/profile在系统启动时会自动运行,也可以手动运行。
export KEY=VALUE执行之后/etc/sysconfig/i18n中的值会被修改。
可以用locale看到效果。
如果以securecrt登录远程服务器,还有一层securecrt的编码。