linux 中设置当前用户的系统默认编码为 UTF-8 格式解决 vim 乱码问题的方法参考
在使用 linux 的终端工具 SecureCRT 或 Xshell 时,当SVN 提交输入日志为中文时提示失败无法提交
svn ci -m ” “
即当两个引号之间输入中文即提交失败或根本无法输入中文
根据提示大概意思是,提交的字符不是 UTF-8 格式。
那么如何解决呢?参考步骤如下:
1. 首先保证 SecureCRT 或 Xshell 等终端工具是 UTF8 格式的。以 SecureCRT 为例,设置方法为:选项-会话选项-终端-外观的字符编码,选择 utf-8
2. 在 /home/yourname 下面打开/建立一个文件 .vimrc
$ vim ~/.vimrc
在该文件底部增加如下代码
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
set nohls
set nu
filetype on
syntax on
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
set showmatch
set ruler
注释参考:
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,你可以在 ~/.vimrc 文件中添加以下内容
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings 提供的编码列表尝试,如果没有找到合适的编码,就用 latin-1(ASCII) 编码打开。
3. 然后执行如下命令
$ export LANG=zh_CN.UTF-8
如果想在 SSH 客户端启动的时即执行export LANG=zh_CN.UTF-8,可在/home/yourname 下的 .bash_profile 文件末尾增加该句命令
$ vim ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi# User specific environment and startup programs
# 有一些实用工具虽然位于 /usr/sbin or /sbin,但实际上普通用户也可以用,比如 ifconfig。
export PATH=/usr/sbin:/sbin:$PATH:.if [ -d ~/bin ] ; then
PATH=~/bin:”${PATH}”
fiexport PATH
unset USERNAME# EDITOR 是非常古老的环境变量了,一些软件需要通过它来决定使用何种编辑器编辑资料
export EDITOR=vim# time 命令的输出格式有时候需要调整一下
export TIME=’\nreal\t%es\nuser\t%Us\nsys\t%Ss’# 关闭终端的 Ctrl+s Ctrl+q 流控功能。有时候不小心按了 Ctrl+s 会导致终端假死,其实是流控了。
stty -ixoff -ixon# 如果登录 shell 不是 screen,就自动启动 screen。
ppid=`awk ‘{print $4}’ /proc/$$/stat`
name=`cat /proc/$ppid/cmdline | awk ‘{print $1}’`
if [ $name == ‘sshd:’ -a $COLUMNS -gt 79 ]; then
screen -wipe
exec screen -D -RR
fi
# 设置默认编码为 UTF-8
export LANG=zh_CN.UTF-8
本文固定链接: