Two powerful emacs packages

虽说已工作四年多,暑假后遗症仍如期而至,整日懒洋洋,提不起精神。加上不久前病了一场,休息了大半周,如今仍“自欺”还在恢复,哑铃也不举了。

懒散归懒散,也并非一事无成,看到Emacs Muse 3.03发布了,值得称道的是终于支持嵌套列表了,也就是说,可以写出这样的东西了:

  • 先这样
    • 开始
    • 结束
  • 再那样

其实早就知道Emacs Muse,就是因为其不支持嵌套列表,所以一直没用。也许用到嵌套列表的情况并不多,但没有它总觉得这软件写得不专业。正是基于这种古怪的、不可取的想法,始终坚持手写HTML。现在支持了,我也没了借口,便再次试用了下,感觉真得不错,以后再写点啥,就全靠它了。那篇翻译——《评判人的两种目的》—— 就是用Emacs Muse写好后生成的。

之后又试了Org-Mode,Emacs 22.1缺省安装的一个用来做日程管理、项目管理和ToDo列表的mode。这个东西不错,比之Google Calendar和remember the milk,更像我想要的东西。只不过Org-Mode功能多,还真得学一会儿,现在只用些简单的功能,就像OrgTutorial中提到的那样。Emacs Muse加Planner也可以实现类似的功能,不过捆绑的总是有些优势,Planner只好日后再说了。:-(

上半年Perl用得多些,如今也换换口味,免得审美疲劳,呵呵。

Switch buffer quickly

C-x b“是切换emacs buffer的快捷键,可是你知道吗,即使是切换buffer这样的基本操作,也有很多个包能够提升效率。像我这样一天到晚开着emacs,buffer越开越多却很少关掉的人来说,选择一个高效的工具是十分必要的。

iswitchb就是其中一个,而且是缺省安装的(但该功能默认关闭)。

切换buffer的传统方式是从头到尾输入buffer的名字,大小写敏感,当然可以使用TAB自动补全。iswitchb的方式则灵活得多,默认情况下大小写不敏感,当输入大写字符时自动转换到大小写敏感状态(与字符串搜索类似);还有就是可以匹配buffer名字的任意部分。首次使用iswitchb时可能会吓一跳,因为它将所有的buffer都列在minibuffer里,而不像传统方式那样按TAB后打开一个新buffer;但是,随着不断输入,minibuffer里将只显示能够匹配用户输入的buffer列表,其中离光标最近的一个(最左边高亮显示的)buffer是默认选择的buffer。由于iswitchb的独特匹配方式,可能出现输入结束仍有多个候选buffer的情况,如果这时我们想要切换到的buffer并非是第一个,则可以使用C-s(正向)或C-r(反向)遍历buffer列表。

打开iswitchb方式如下:

M-x customize-group iswitchb

然后打开iswitchb mode,或者手工在.emacs文件里添加

(iswitchb-mode 1)

更多用法参见wiki页

我们还可以使用BufferSelection给”C-x C-b“一点变化,只需在.emacs文件里添加如下代码:

(require 'bs)

(global-set-key (kbd "C-x C-b") 'bs-show)