直接用gvim打开中文名文件有问题

22 views
Skip to first unread message

windstorm

unread,
May 29, 2007, 5:16:02 AM5/29/07
to Vim.cn
不知道各位遇到过没有,可能是编码的问题,一个文本文件,如果是中文名,通过点鼠标右键-选择gvim打开,就会一片空白,改成英文名就好了。而在终端
下用命令gvim xxx则一点问题都没有,不管是中文名还是英文名。

tocer

unread,
May 29, 2007, 5:48:59 AM5/29/07
to Vim...@googlegroups.com
WinXP 下都没问题

windstorm wrote::

Bruce Wang

unread,
May 29, 2007, 7:50:45 AM5/29/07
to Vim...@googlegroups.com


可能是"我的文档"之类的中间带空格的目录名的问题,我之前也遇到过, 后来vim升级之后就没有了。




--
simple is good
http://brucewang.net
skype: number5

windstorm

unread,
May 29, 2007, 10:58:57 AM5/29/07
to Vim.cn
1 我用的ubuntu 7.04
2 应该没有空格,~/Desktop/xxxx,都是这种文件

--
www.forwind.cn

On 5月29日, 下午7时50分, "Bruce Wang" <numb...@gmail.com> wrote:

Yongwei Wu

unread,
May 29, 2007, 12:56:56 PM5/29/07
to Vim...@googlegroups.com
On 29/05/07, windstorm <likunar...@gmail.com> wrote:
> 不知道各位遇到过没有,可能是编码的问题,一个文本文件,如果是中文名,通过点鼠标右键-选择gvim打开,就会一片空白,改成英文名就好了。而在终端
> 下用命令gvim xxx则一点问题都没有,不管是中文名还是英文名。

这种问题最好到英文的邮件列表上去问。Bram和其他的开发人员不会到这儿来看的。:-)

(以前我在Windows上有一个类似的问题,不过仅会在encoding=utf-8时才出现。后来自己提交了一个补丁才解决的。这个补丁在7.x才被正式接受。)

--
Wu Yongwei
URL: http://wyw.dcweb.cn/

windstorm

unread,
May 30, 2007, 9:53:01 AM5/30/07
to Vim.cn
多谢yongwei兄的提醒,当初没有订阅英文列表是因为其更新太多看不过来,呵呵

On 5月30日, 上午12时56分, "Yongwei Wu" <wuyong...@gmail.com> wrote:

cocaxl

unread,
Jun 5, 2007, 3:55:11 AM6/5/07
to Vim.cn
如果你用的是gnome,那么可能用这个办法解决:

编辑/usr/share/applications/gvim.desktop
修改:
Exec=gvim -f %U
为:
Exec=gvim

风雷

unread,
Jun 5, 2007, 8:49:28 AM6/5/07
to Vim...@googlegroups.com
谢谢,我明天试一下

在07-6-5,cocaxl <cocax...@gmail.com> 写道:



--
web: http://www.forwind.cn
msn: likunarmstrong at hotmail.com

uusky

unread,
Jun 6, 2007, 10:21:29 PM6/6/07
to Vim.cn

windstorm兄弟,确实有这样的现象!我也发现过了!不过我发现这样的情况(不是打不开的问题,就是说小问题,但是可以绕过去的)在linux里
面很多。也不知道怎么修改?

cocaxl兄弟:能不能解释一下:gvim -f %U是什么意思呢?

windstorm

unread,
Jun 22, 2007, 11:10:06 PM6/22/07
to Vim...@googlegroups.com
to cocaxl:
我按照这个方法修改了,问题还是存在,可能不是这个原因.....

在 07-6-7,uusky<uul...@gmail.com> 写道:

Yongwei Wu

unread,
Jun 23, 2007, 3:27:52 AM6/23/07
to Vim...@googlegroups.com
On 29/05/07, windstorm <likunar...@gmail.com> wrote:

再试试:打开文件失败后,用 :echo expand("%:t") 显示 Vim 看到的文件名。
顺便,把你的系统的环境变量 LC_ALL、LC_CTYPE、LANG 的值(如果有的话),
还有 Vim 选项encoding、termencoding 在两种情况下的值都告诉大家一起分析
看看。

吴咏炜

windstorm

unread,
Jun 24, 2007, 9:14:44 AM6/24/07
to Vim...@googlegroups.com
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
其它没有设置,应该是默人和LANG一样吧

encoding是utf-8,termencoding暂无

症状不是说打不开,而是全乱码,所以截了一个图,大家可以帮忙看看。

在 07-6-23,Yongwei Wu<wuyo...@gmail.com> 写道:

(~-Desktop) - GVIM.png

Yongwei Wu

unread,
Jun 24, 2007, 9:52:52 AM6/24/07
to Vim...@googlegroups.com
你没有把你要打开的文件名和expand("%:t")的结果写出来啊。

On 24/06/07, windstorm <likunar...@gmail.com> wrote:
> LANG="zh_CN.UTF-8"
> LANGUAGE="zh_CN:zh"
> 其它没有设置,应该是默人和LANG一样吧
>
> encoding是utf-8,termencoding暂无
>
> 症状不是说打不开,而是全乱码,所以截了一个图,大家可以帮忙看看。
>
> 在 07-6-23,Yongwei Wu<wuyo...@gmail.com> 写道:
> > On 29/05/07, windstorm <likunar...@gmail.com> wrote:
> > > 不知道各位遇到过没有,可能是编码的问题,一个文本文件,如果是中文名,
> > > 通过点鼠标右键-选择gvim打开,就会一片空白,改成英文名就好了。而在终
> > > 端下用命令gvim xxx则一点问题都没有,不管是中文名还是英文名。
> >
> > 再试试:打开文件失败后,用 :echo expand("%:t") 显示 Vim 看到的文件名。
> > 顺便,把你的系统的环境变量 LC_ALL、LC_CTYPE、LANG 的值(如果有的话),
> > 还有 Vim 选项encoding、termencoding 在两种情况下的值都告诉大家一起分析
> > 看看。

--

windstorm

unread,
Jun 24, 2007, 10:56:35 AM6/24/07
to Vim...@googlegroups.com
:echo expand("%:t")的结果就是图中标题那里显示的乱码,一模一样,我就没有说了。

任何中文文件名,或者带中文的文件都是这样的。纯英文没有问题

顺便问一句,这个命令为什么要用:t来截取保留最后一段?

在07-6-24, Yongwei Wu <wuyo...@gmail.com> 写道:

Yongwei Wu

unread,
Jun 25, 2007, 5:32:56 AM6/25/07
to Vim...@googlegroups.com
我想你可能可以做的一件事是:比较原始文件名和显示出来的乱码,找出其中的
关联。如果 echo 出的结果仍然无法辨认,试试:

:function! Decompose(s)
: let len = strlen(a:s)
: let res = ''
: let i = 0
: while i < len
: let res = printf('%s%02X ', res, char2nr(strpart(a:s, i, 1)))
: let i = i + 1
: endwhile
: return res
:endfunction

:echo Decompose(expand('%:t'))

(可以存到文件里,用 source 执行。)

对于正确的文件名和错误的文件名分明试一下,把结果发上来看看。

我想我们不关心前面英文的目录部分吧。所以就用 :t 砍掉吧。

Reply all
Reply to author
Forward
0 new messages