《拿起画笔,描绘你心中的Vim》补充说明


Ame网友的 拿起画笔,描绘你心中的Vim 引发了很多讨论。为此,把我之前准备发布的文章及邮件往来也发出来。


网友Ame非常热情地来信,标题是『请您完善Vim对中文的支持』,让我大吃一惊。经过沟通后才明白:
* 他的目标:建设更适合中文用户、非编程用户的gVim;
* 具体建议:
  * 对非等款字体(比如雅黑)的支持;
  * 非utf-8的优化;
  * 精简安装包,如ole。
  * 增加必要插件,如vimwiki。

我认为最低可以修正两处硬伤:(因为该问题在 vim 7.2 时代都解决过)

1. gVim对非等款字体的支持;
2. gVim对金山词霸取词的支持

下面是 2010-09-08 开始,Ame与xbeta的邮件往来。发出来,一是听取意见,二是寻求有编译能力的志愿者。

邮件1:from Ame

你好,我是一名善用佳软的读者,看了贵博的文章后我开始学习Vim。和您一样,我主要用Vim进行中文处理和网页编辑,因为自己也算半个小站长吧,呵呵,但是您有没有注意到呢,官方版的Vim对中文支持非常疲软。

首先它不支持非等宽字体,自然就不支持微软雅黑。虽然编译后可以。但对像我这样非程序员的群体来说,这实在是个不可能完成的任务。而有此能力的程序员,专注于代码而非中文处理,多半也无此要求。

事实上我从 http://lcuc.org.cn/node/1315 下载了编译后的72版本Vim(那还是08年的),然后从官网上找到旧版安装包,覆盖安装后虽然能从命令行打开微软雅黑(gui选择界面里还是没有),但把字体放大仔细观看还是有很多瑕疵。

例如:么,也,美 这些字,笔画上有明显的锯齿,这可称不上是完美的编辑器。

您大力推广这个强大的编辑器,实在是造福国人的举动。但是若Vim本身对中文的支持不能完美,推广也是白费力气。

请问您能否给出一个完整的解决方案呢?Vim实在非常繁复,有个性化的需求就涉及编程。如果我们是程序员,那我们可以自己解决。但若真是程序员,也不用别人来告诉我们Vim是什么,呵呵。或者您指出我们可以到哪里找到这个解决方案,也许我的做法有误。但我已经付出数十个小时在google上搜索,我相信在非程序员群体中,自己还算是有点小技术的,但是我求不得这个问题的解。

多谢您看完这封冗长的邮件 🙂 期待您的回应。

邮件2: from xbeta

Ame:

感谢你的信任。

如果说你『在非程序员群体中,自己还算是有点小技术的』,那么,我属于完全不懂编程、开发的。
所以,我的选择更少,因而结论更简单:用其长,避其短;关注其进步,正视其缺陷。

比如,字体,界面,我本身就不关注。
说到对中文最大的不便,应该是分词——比如w跳转——那我就用鼠标。
某些插件对中文支持有问题,就忍着,或不用。

如果有更大的实际需求遭遇了更大的困难,放弃vim也并非不可能。

我们的生活并非完美,Vim也一样。
我们只追求产出的完美,不要追求工具的完美。

Just use the unperfect Vim to create your best website.

邮件3: from Ame

如果可以的话,您可以倡导这件事。我只是提议。如果一件事被证明是可行的,为什么不去将其完善呢。Vim编译后可以使用非等宽字体,也能区别中文和英文使用不同的字体。有一个帖子写过编译Vim来看电子书,可见Vim的可视化是能做的很棒的。

但是随着编码,字体,配置文件的不同,Vim的使用也千差万别。至今为止,关于Vim编译的资料零星散落在网上,给不懂技术的入门者带来很大不便。我的想法是:

1.整合一个面向一般人(非程序员)的整合包。
2.如果您做不到,可以和程序员社区合作。若是我这样默默无名的小字辈去倡导,可能帖子马上就沉了。:)

可以开展一个连接一般用户和程序员社区的活动。一般用户来提出易用性,运行环境等等的提议,然后携手打造一个真正面向所有人的中文化Vim。

这个Vim包可以维护在 code.google.com 上,我本以为一定有人已经做了这个计划,但现实让我失望了。

您说有要容忍必须容忍的缺点,但据我搜索的结果这并非不能解决的问题,只是一般人很难解决而已,因此这是一个提倡程序员和一般用户互助的问题。

如果实在不行的话,只好去拜托我当程序员的哥们了 XD 其实上个礼拜我就拜托他给我编译Vim,可是他说他做项目一天只能睡四小时,唉。

邮件4: from xbeta

您说得很对,我过于实用主义和消极了。
可能我对你提出的问题的技术可行性理解也有偏差,不过现在明白了,它是可行的。
另外,我也想到了一个例子:gvim @ windows 对金山词霸取词的支持情况,在v7.2也有人解决过,但v7.3又没人编译了。

这件事乐观讲,可能1周就找到志愿者。
不太乐观讲,随着提出的问题不断增多,或需要持续超过12个月管理协调。
而我在2011年3月之前,实在抽不出多少业余时间。

你如果愿意推进,我可以为你在 http://xbeta.info 开一个账号,来发文、更新文章、回复评论,以主导此事(我会协助)。
就象最近两位网友分别主持:
* 神逸之作:国产快速启动软件神品ALTRun(征求新版功能意见中):有 500+ 讨论
* 第一篇 群雄并起——文本编辑器的武林大会:有170+ 讨论一样。

如果你有把握,就直接行动。
如果没有把握,我们可以试着把这些邮件讨论发到 http://xbeta.info 和 水木vim版,看看大家的反馈。

有意义的事,就做起来吧。
即便是半成品,也要做成有利于后人进一步加工的半成品。

多谢你的热情。

邮件5: from Ame

谢谢您的信任: ) 我也很想主持这一行动。但说真的,我虽然从半年前就通过贵博了解了Vim这一存在,但真正把它作为工作中的重要工具还是最近一个月的事。自己对Vim的所知实在太少,我觉得还是让更了解它的人来主持,才不会让项目半途而废。

您可以把它和“群雄并起——文本编辑器的武林大会”合并起来,在介绍的同时推出一个整合Vim包,这不正是顺理成章的事吗?我会成为最热心的参与者的 : )

您在写作博文的同时,肯定考虑过文章受众的问题。确定受众正是SEM(互联网营销)最重要的一步。此项目的受众我认为可以定位为:“了解一定电脑知识,有兴趣为改善效率付出一定时间和精力,有使用纯文本编辑器的需要,但不懂编程,也没有大量时间耗费在编译和调整上的人群”。

这群人如个人站长(某机构统计的2600万),大学生,非技术的IT营销人士。应该是很庞大的!呵呵。以我为例,我用Vim最大的契机,就是用Word编辑的富文本,粘贴到网页编辑器中会变得乱七八糟,因此有了使用纯文本编辑器的需要,纯文本编辑器里有一大部分又是收费的,那么免费的哪些功能强大又容易入门呢?答案出来了——Vim。

而层出不群的问题会吓跑这群人。如果word不是太难用,可能我还在用word,因为分分钟用来工作都能换来钞票,为什么要浪费在调试一个编辑器上呢。

就Vim来说,我们可以花时间去适应快捷键,花时间去写一些宏和脚本,写vimrc,因为这些能提供工作效率,但我们喜欢它能够稳定的工作,在发挥强大的自定制功能之前,首先能做好一个编辑器的本分。因为我们不是程序员嘛。像我就在自带的vimrc的尾部写入自己的代码,这样不花时间,而且绝对不会出问题。

Vim官网提供的BIG版本,的确一定程度上能做到这种易用性,但是它不够本土化,而且最重要的是:它是面向程序员定制的。

而我们需要面向普通人定制的Vim
1.一个解压后即运行的编辑器,不管XP还是win7,不管utf-8还是cp936都能完好运行,显示相同的结果。(可能需要不同的vimrc吧)而且用户最好不需要懂得什么utf,那太麻烦了 XD

要是安装的时候能自动识别环境就好了…

2.去掉c++,java支持以及什么ole,精简安装包。让它变得简单易懂(每一个部分是干什么的),强调其作为纯文本编辑器自身的功能。最多带个HTML语法支持就行了,当然这需要调查大众需求。

3.本土化。优化中文支持。(按google来的说法只要改下编译选项,在VS2010里重新编译一遍就能支持非等宽字体)我现在用修改版的gvim72虽然能调用微软雅黑,但笔画有锯齿,而且英文显示惨不忍睹…试图在vimrc中写入双字体支持,却发现需要vimrc格式为utf8,而调用雅黑需要格式为cp936囧…说真的,大多数人走到这步绝对会直接放弃了。

一个文本编辑器,字体(外在显示效果)是最基本也是最重要的部分。word的home选项卡最明显的部分放的就是字体调整。也许程序员不在乎,但是一般用户在乎。

4.加入一些必须的,配置好的插件。比如Vimwiki之类。

我只想到这么多,总之就是把它从一个面向程序员的软件,变成面向普通人的编辑器吧(加上本土化),这种感觉,呵呵。就算有一些问题短时间在技术上无法解决。大方向我认为是值得努力的。

这是一个可以长久运作的项目。我认为它和“群雄并起——文本编辑器的武林大会”是很搭的。大可以一起运作 🙂 作为一个下属的技术项目。


《“《拿起画笔,描绘你心中的Vim》补充说明”》 有 19 条评论

  1. 实际上要自己build vim不算很麻烦,官方提供了多种编译器支持。
    比如vs2008,只需要打开vs2008的console,然后切换到vim源码目录下
    nmake -f Make_msvc.mak FEATRUES=HUGE GUI=YES OLE=YES
    就可以了,huge版基本是啥特性都有了。

    7.2的时候还追着patch自己编译windows版,7.3出来了就实在懒得弄了,反正主要也是在Linux下用。

    另外,windows版应该默认是支持等宽字体的,我一直用的是yahei mono,没发现显示有啥别扭的。

    if has(“win32”)
    set guifont=Yahei Mono:h9
    elseif has(“unix”)
    set guifont=Monospace 9
    endif

  2. 对非等款字体(比如雅黑)的支持;
      * 非utf-8的优化;
      * 精简安装包,如ole。
      * 增加必要插件,如vimwiki。
    这也太扯了吧,还不如改成
    * 设计一款更好的等款字体
      * 只用utf-8;
      * 提供编译脚本
      * 提供插件管理机制,像firefox

  3. http://u.115.com/file/t970acdb7c
    vim7.3 支持取词版

    从官方hg源码库中下载的源码
    参照以前的帖子修改,自己编译的vim7.3.5

    只改了一行源码,编译参数为
    make make_ming.mak FEATURES=HUGE GUI=YES NODEBUG=YES
    make make_ming.mak FEATURES=HUGE GUI=NO NODEBUG=YES

    有兴趣的朋友可以拿去用,压缩包中只包含了两个主程序(gvim.exe vim.exe),请自行覆盖官方安装包里的文件

  4. 嘿嘿,Ame是知道善用佳软半年,我是快半年没上来看过了,也算是老读者了。说句实话要说编辑器还是vim强,除了不能看图没啥缺点。所以配置打包一个易用的vim也是我最近在考虑的事情,看来大家想到一块了

  5. 配置一个VIM包的的确是有必要,但是我觉得VIM的推广最主要的原因还是缺少一个集中的社区形式的交流平台(水木那个太。。你们懂的。。),而且需要个别精通vim的不同领域的热心人的全力支持。。第二个要求实际上国内已经不少,但是第一个。。目前还没看到。。善用佳软的博客毕竟只是一个博客。。

  6. 再说那四点
    * 对非等款字体(比如雅黑)的支持;
    等交流平台起来了自然水到渠成
    * 非utf-8的优化;
    这个目前我到现在还没有找到完全解决所有问题的方案,比如:!echo 中文的问题,可能只有等中国这边影响起来了等作者优化。
    * 精简安装包,如ole。
    个人认为这个意义不大,精不精简很多都是心里作用,等$vim下每个文件都分析的透彻,谁都可以精简。
    * 增加必要插件,如vimwiki。
    参照firefox模式。。没必要。。但是需要一个平台来讨论插件

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据