来金山半年多了,第一次和公司的同事踢球。
一直看到新闻组的周末踢球召集帖,我都没有参加。主要是因为使用Linux系统,没法用RTX,和组织无法联系。林照师正好也踢球,而且他是用Windows的,竟然成了我加入“寂寞踢波”的介绍人。
下午下雨,不过不大,因此踢球还是继续。场地是那种小学初中的250米操场,和铁四院的一样,感觉很熟悉。人来的陆陆续续,一共大概有二十多个,分成三队轮换上场。我今天竟然进了一个头球,后脑勺蹭的,从门梁下沿擦着进了,应该是很精彩的,可惜大家都鄙夷的看着我,因为是个乌龙球,害得大家通通下场,呵呵。
其他的战绩就是踩伤一个,踢翻一个,扑出了一个点球,以及自己摔了一跤,把衣服都弄湿了,满身都是碎草,干脆脱掉赤膊上阵。没有女生,所以不要紧。
今天比较失策的是没有带钱,还是找同事借钱买的水。租场地的钱是公司出,很棒。大家的水平一般,有高有低。今天下雨地滑,发挥都不怎么好。接下来两天我应该会浑身酸痛,说不定都没法走路。下个星期再踢的时候体力应该会好些。再者很久没踢,带球传球起球都是一塌糊涂,丢脸了。
踢到最后小腿肚子有点抽筋,不过不严重,就是跑的时候自个儿在那儿乱抖,示威似的,让我有力跑不动。也罢,今天的运动量很大了,可乐都喝了两瓶,还中奖得了额外的一听。
2009年5月28日星期四
2009年5月22日星期五
2009年5月10日星期日
Vim与中文分词
Vim的"w"、"e"等一系列快捷键无法支持中文已经在vim_use和vim_dev中讨论过多次了,但是貌似没有开发者愿意给Vim写一个关于此问 题的补丁。我前一段时间研究了一下,发现让Vim在这方面支持中文确实是不现实的。在这里写一下原因,如果有人想继续研究这个问题,至少可以参考一下。
解决这个问题最直观的想法就是让Vim调用外部的中文分词库分词,然后把光标移动到正确的地方。相应的困难有两点:Vim不愿意和外部进程通信;Vim集成中文分词器很困难。
Vim的众多开发原则中,有一点是非常重要的,那就是可移植性。Vim运行在很多平台上,不止是*nix、Mac和Windows,还有VMS甚至 QNX。任何一个Vim的特性补丁能否被检入,不止取决与这个特性的紧急程度,还在很大程度上取决与这个特性的可移植性。Vim不愿和外部进程通信也正是 基于这个考虑,因为不同操作系统的通信机制千奇百怪,要设计和维持一套统一的协议是很困难的。没有和外部进程通信的渠道,让Vim调用外部分词库也就无从 谈起了。
使Vim用外部的分词器是最好的解决方案,因为在统一接口的条件下,这样可以保持很高的灵活性,在多个分词器之间切换。既然这样不行,那分词器可以集成进 Vim么?可惜,答案是很困难(不是不可能)。Vim关心的另一个非常重要的原则就是性能。Vim运行的环境可以是有图形界面的,也可以命令行。特别是在 命令行下,延迟是不可忍受的。幸运的是现在的中文分词库的性能都还不错,一般都有上百kb/s的处理速度,每秒都在十万字以上。另外,既然是集成进 Vim,那在众多中文分词库中应该选用哪一个呢?还有一个不利的因素就是现在中文分词都都需要词库,而这个词库是很大的。这么大的一个词库如果集成进 Vim,那下载起来会很困难。再者词库是需要更新的(程序会自己学习新词么?嗯,也许会吧,十年之后……),这就是大麻烦了,还要和网络通信,大大的不 行。
即便有个牛人把上面的麻烦都解决了,写出来了一个可用的补丁,和Bram他们讨论的差不多了,那也需要在一个branch中测试个一年半载来尽可能的找出所有bug(可以参见vim_dev的patches页面)。那时候,任何一个开发者应该都已经被磨的没脾气了。
看起来万事俱备,实际上满是窟窿 T-T
这个问题最好的参考,也是前车之鉴,就是Vim的拼写检查部分。在Vim中输入:h develop-spell可以查看帮助文件中关于拼写检查当年的讨论结果。最终拼写检查没有使用现成的Aspell,而是Vim自己实现了一份。Vim和Emacs的不同之处很明显,这是Vim的特色,但是在这种情况下这种自给自足的小农思想也成了Vim的一圈桎梏吧。
解决这个问题最直观的想法就是让Vim调用外部的中文分词库分词,然后把光标移动到正确的地方。相应的困难有两点:Vim不愿意和外部进程通信;Vim集成中文分词器很困难。
Vim的众多开发原则中,有一点是非常重要的,那就是可移植性。Vim运行在很多平台上,不止是*nix、Mac和Windows,还有VMS甚至 QNX。任何一个Vim的特性补丁能否被检入,不止取决与这个特性的紧急程度,还在很大程度上取决与这个特性的可移植性。Vim不愿和外部进程通信也正是 基于这个考虑,因为不同操作系统的通信机制千奇百怪,要设计和维持一套统一的协议是很困难的。没有和外部进程通信的渠道,让Vim调用外部分词库也就无从 谈起了。
使Vim用外部的分词器是最好的解决方案,因为在统一接口的条件下,这样可以保持很高的灵活性,在多个分词器之间切换。既然这样不行,那分词器可以集成进 Vim么?可惜,答案是很困难(不是不可能)。Vim关心的另一个非常重要的原则就是性能。Vim运行的环境可以是有图形界面的,也可以命令行。特别是在 命令行下,延迟是不可忍受的。幸运的是现在的中文分词库的性能都还不错,一般都有上百kb/s的处理速度,每秒都在十万字以上。另外,既然是集成进 Vim,那在众多中文分词库中应该选用哪一个呢?还有一个不利的因素就是现在中文分词都都需要词库,而这个词库是很大的。这么大的一个词库如果集成进 Vim,那下载起来会很困难。再者词库是需要更新的(程序会自己学习新词么?嗯,也许会吧,十年之后……),这就是大麻烦了,还要和网络通信,大大的不 行。
即便有个牛人把上面的麻烦都解决了,写出来了一个可用的补丁,和Bram他们讨论的差不多了,那也需要在一个branch中测试个一年半载来尽可能的找出所有bug(可以参见vim_dev的patches页面)。那时候,任何一个开发者应该都已经被磨的没脾气了。
看起来万事俱备,实际上满是窟窿 T-T
这个问题最好的参考,也是前车之鉴,就是Vim的拼写检查部分。在Vim中输入:h develop-spell可以查看帮助文件中关于拼写检查当年的讨论结果。最终拼写检查没有使用现成的Aspell,而是Vim自己实现了一份。Vim和Emacs的不同之处很明显,这是Vim的特色,但是在这种情况下这种自给自足的小农思想也成了Vim的一圈桎梏吧。
标签:
vim
订阅:
博文 (Atom)