linux环境下vim中文乱码问题及解决

出现乱码可能存在的问题:

问题1:

linux系统未安装中文字体,这种情况下,不管vim如何设置都无法正常显示中文。

问题2:

如果linux系统已经安装了中文字体,因vim配置文件没有正常设置而出现乱码。

========================================================================

问题1的解决方法:

1.1安装中文字体。可向光驱放入linux安装光盘,然后以root进入目录/media,

找到与字体相关的安装包。以redhat企业版5.3为例:

#rpm -ivh /media/redhat5.3/Server/fonts-chinese-3.02-12.e15.noarch.rpm

#vim /etc/sysconfig/i18n

修改文件内容为:

LANG="zh_CN.UTF-8"

SYSFONT="lat0-sun16"

保存退出重启系统即可。

========================================================================

问题2解决方法:

vim ~/.vimrc //如果.vimrc文件不存在则先创建

将以下内容写入.vimrc文件并保存退出即可:

set fencs=ucs-bom,utf-8,gbk,gb18030,utf-16,big5

set fenc=cp936

set encoding=utf-8

.vimrc中配置项解释:

fencs: 全称fileencodings,指vim尝试以何种编码方式打开目标文件。fencs可以同时设置多个

编码试,一般情况下把严格的编码放在前,宽松的编码方式放在后面。

fenc: 全称fileencoding,Vim在保存新建文件时会根据fileencoding的设置编码来保存。如果是打开已有文件,

Vim会根据打开文件时所识别的编码来保存,除非在保存时重新设置fileencoding。

enc: 全称encoding,是vim内部使用的字符编码方式。当我们设置了encoding之后,vim 内部所有的 buffer,

寄存器,脚本中的字符串等,全都使用这个编码。

vim 在工作的时候,如果编码方式与它的内部编码不一致,它会先把编码转换成内部编码。

如果工作用的编码中含有无法转换为内部编码的字符,在这些字符就会丢失。因此,

在选择 Vim 的内部编码的时候,一定要使用一种表现能力足够强的编码,

以免影响正常工作。

由于encoding选项涉及到 Vim 中所有字符的内部表示,

因此只能在 Vim 启动的时候设置一次。

在 vim 工作过程中修改encoding会造成非常多的问题。

如果没有特别的理由,

请始终将encoding设置为utf-8。

tenc: 全称termencoding,在终端环境下使用vim时,通过termencoding项来告诉vim终端所使用的编码。

对于图形界面下的gvim,它的显示不依赖TERM,因此termencoding对于它没有意义.

==========================================================================================

.vimrc文件的其它设置:

syntax enable

syntax on

"set number

set incsearch

set nocp

"set ai

set si

set tabstop=4

"set sw=4

set ruler

set showmatch

set matchtime=8

set cindent

""""""""""""""""""""""""""plugin taglist setting: begin""""""""""""""""""""""""""""""

"进行Tlist的设置

""TlistUpdate可以更新tags

nnoremap :TlistToggle"按下F3就可以呼出了

let Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行

let Tlist_Use_Right_Window=0 "让窗口显示在右边,0的话就是显示在左边

let Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表,如果想只有1个,设置为1

let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏

let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim

"是否一直处理tags.1:处理;0:不处理

let Tlist_Process_File_Always=0 "不是一直实时更新tags,因为没有必要

let Tlist_Inc_Winwidth=1

"let Tlist_Use_SingleClick=1

let Tlist_Auto_Highlight_Tag=1

"""""""""""""""""""""""""plugin taglist setting: end""""""""""""""""""""""""""""""""

Logo

更多推荐