IBus输入法最近似乎比较热,拿来玩玩,挺喜欢的。不过在Vim中编辑时还是有一些不顺的地方。幸运的是IBus的前端是用Python写的,本人也正好在学习Python。稍微修改了下,用起来爽很多了。动态语言的好处是,修改了就能用了,无须编译,酷。 IBus在Vim中编辑的几个问题 IBus默认使用了预选词嵌入编辑器输入方式,在Gvim中会出现输入几个字就自动退出编辑状态的情况,SCIM中有一个选项可以取消这种方式,IBus没有配置 当用Ctrl+Space打开输入法时,输入法会保持最后一次的编辑方式,如果最后一次编辑处于英文状态,输入法打开时也是英文状态。这不符合使用习惯,无谓增加了输入法的模式切换。当人们打开输入法时,希望的是马上能输入中文。 当在Vim中用Escape键退出编辑状态时,IBus保持中文编辑方式,妨碍Vim在命令模式下的操作,希望在按下Escape键后输入法切换为英文输入状态。 对IBus的一些小修改 打开 /usr/share/ibus-pinyin/engine/pinyin.py ,找到 update_preedit 函数的定义,在函数体的第一行插入 return ,将该函数屏蔽掉。这样就不会再使用预选词嵌入的方式了。(详细说明请参考:http://blog.pluskid.org/?p=328 ) 在上述文件中找到 enable 函数的定义,并在其下添加 self.__mode__ = 1 ,这样在打开输入法时,总是默认为中文输入。 在上述文件中找到 __chinese_mode_process_key_event 函数的定义,并在 elif key.code == keysyms.Escape: 下添加 self.__change_mode() ,这样在Vim中按下Escape键,IBus就从中文输入状态切换到英文输入状态了。 网络书签
Vim中发布博客的想法开始只是因为好玩。有不少VIM的插件可以支持从VIM中直接发送内容到Wordpress-我使用的博客软件。可是真的要用起来却真的是大费周则。如果只是将文字发送到博客网站那确实不难,可是显示出来的博客内容都是没有任何格式的平淡文字。当然我们可以在VIM中编辑HTML然后发送,可是这也太... 手工编辑HTML的傻事当然不能做。那有什么可以容易编辑又能获得格式化文字的方法呢?自然想到了正在学习中的 reStructuredText (简称reST)。reST实际上是轻量级结构化文本格式的一种,类似的还有很多,比如: Markdown, Deplate, txt2tags (txt2tags相对简单易学,比较喜欢,我还翻译了 txt2tags的使用技巧 可惜没有相应的Wordpress插件支持)。使用reST的好处是:它是Python语言官方文档使用的格式,我也恰好正在学习Python。而reST与 Sphinx 的配合也使文档的编辑工作变得有趣味起来。幸运的是,Wordpress有支持这种格式的插件,不幸的是,为了使用这个插件耗费了我不老少的时间,幸运的是,你不必了。以下是具体的操作步骤: 网络书签
你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限。如果已经做了很多修改,放弃保存的确很懊恼,只好先保存在用户的主目录下,再用sudo mv移动到文件的原始位置,并按需要chown。这样做实在太麻烦了,以下的这个技巧就太方便了。当需要保存时,输入以下的命令: :w !sudo tee % 网络书签













