分页: 1 / 1

求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。(重装系统已解决)

发表于 : 2010-06-13 16:54
zwdnet
我的是Ubuntu10.04(雨林木风OS3.0),装上以后vim使用正常,但是今天突然发现一个问题,我用vim打开一个在中文目录里的文本文件,里面的显示,包括中文输入都是正常的,但是退出vim后终端就出现一行乱码,必须执行reset 和 clear或者关了终端窗口重新打开以后才正常。下面是具体情况的截图。测试文件为test.cpp,路径为/home/zym/下载/
有乱码的情况
有乱码的情况
然后我到了上一级目录,也就是/home/zym/下,用vim ./下载/test.cpp编辑,退出后却没有乱码。
没有乱码的情况
没有乱码的情况
这是我那个test.cpp的内容
编辑文件的内容
编辑文件的内容
也就是说当psw中没有中文路径的时候一切正常,如果psw里出现中文后运行vim退出后终端就出现乱码了。我尝试解决时试了其它文件,就是那些配置文件,一样的情况。我google了半天,vimrc改过,locale改过,都没用。下面是配置文件:
/etc/vim/vimrc的内容,大段的注释都删了。

runtime! debian.vim

if has("syntax")
syntax on
endif

set showmatch " Show matching brackets.
set smartcase " Do smart case matching
set mouse=a " Enable mouse usage (all modes)
set autoindent
set cindent
set encoding=utf-8 “我加的
set fileencodings=utf-8,gbk,ucs-bom,cp936 “原有的
set termencoding=utf-8 "我加的

if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif

/etc/default/locale的内容
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"

另外终端窗口的“终端“菜单下的“设定字符编码“为Unicode(UTF-8),没有其它选项。
麻烦各位帮忙看看,是哪出问题了?谢谢啊!

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-14 12:39
zwdnet
关机后重启了,问题依旧......

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-15 9:05
zwdnet
又试了一下,在这个目录里又没有

zym@zym-freedom:~/osdiy/Orange S一个操作系统的实现/oranges/chapter1/a$ ls
a.img bochsrc boot.asm
zym@zym-freedom:~/osdiy/Orange S一个操作系统的实现/oranges/chapter1/a$ vim bochsrc
zym@zym-freedom:~/osdiy/Orange S一个操作系统的实现/oranges/chapter1/a$
看来就是在当前目录名是中文的时候才出问题
zym@zym-freedom:~/文档$ ls
zym@zym-freedom:~/文档$ vim test.cpp
这时候进入vim,显示,编辑文件均正常,保存并退出后出现如下乱码
莅机祭历祭ⵦ蝈邃镯㨠縯昖ݦ。ݺ祭历祭ⵦ蝈邃镯湖⽦ᘇ妗¥
我在~/下自建了一个测试目录,问题依旧
zym@zym-freedom:~/测试$ vim test.cpp
莅机祭历祭ⵦ蝈邃镯㨠縯娴୨⼕ݺ祭历祭ⵦ蝈邃镯湖⽦㔋璇ᔤ
再在测试目录里建个不含中文的目录,测试正常
zym@zym-freedom:~/测试$ mkdir a
zym@zym-freedom:~/测试$ ls
a test.cpp
zym@zym-freedom:~/测试$ cd a
zym@zym-freedom:~/测试/a$ ls
zym@zym-freedom:~/测试/a$ cp ../test.cpp ./
zym@zym-freedom:~/测试/a$ ls
test.cpp
zym@zym-freedom:~/测试/a$ vim test.cpp
zym@zym-freedom:~/测试/a$
这就证实了我的猜测,只有在当前目录名为中文的目录里运行vim,退出后才会出现乱码。仍在寻找解决方案中......

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-15 10:31
trigger
不该用疯版啊

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-15 10:39
zwdnet
您是说雨林木风?

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-15 10:51
monk
换个版本试试

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-15 12:54
zwdnet
谢谢,在下原版Ubuntu了......

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-15 17:44
trigger
误导楼主了,不是疯的问题,应该是终端的问题。上午的测试用的是tilda,:q退出vim必须先退出输入法,没有乱码。刚才用系统默认的gnmoe-terminal和terminator无论是否退出输入法都可以:q但是都有乱码 :em06

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-15 17:46
trigger

代码: 全选

enca absguidecn.txt 
Universal transformation format 8 bits; UTF-8
  Surrounded by/intermixed with non-text data
楼主,你的呢?运行一下enca看看

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。

发表于 : 2010-06-16 1:05
zwdnet
我重新装原版的ubuntn10.04了,没有在出现乱码问题,是比ylmf他们改的要麻烦,但因为原来的安转时linux分区弄小了,不够用,而且休眠也有问题(交换分区小了),现在基本上win跟linux各占一半硬盘。关于enva,好像没装

程序“enca”尚未安装。 您可以使用以下命令安装:
sudo apt-get install enca
新立得正在下载东西呢,还装不了。谢谢各位帮助!

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。(重装系统已解决)

发表于 : 2010-06-17 22:30
zwdnet
晕,在论坛里闲逛发现这个帖子,有人06年就碰到同样的问题,里面有解决方法,唉,以后提问前要先搜论坛啊。
viewtopic.php?f=68&t=25127&p=1630118#p1630118

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。(重装系统已解决)

发表于 : 2010-06-18 17:06
HuaChong
题目不得不说很彪悍,重装系统解决, :em05

Re: 求助,在有中文的路径里使用vim打开文本文件,退出后终端有乱码。(重装系统已解决)

发表于 : 2010-06-18 17:24
trigger
我是这样解决的:
目的是用起始标题英文“Terminal”作为标题的结束,等于屏蔽了本来作为标题结束的中文字符