Revert buffer

在Emacs缺省配置下,revert-buffer没有映射到任何快捷键,经过了几年痛苦地M-x revert-buffer RET yes RET,终于痛定思痛,弄了个快捷键出来。

(defun wl-revert-buffer (&optional arg)
  (interactive "P")
  (revert-buffer t t arg))

(global-set-key (kbd "<f5>") 'wl-revert-buffer)

通常情况下使用F5,如果不想改变major mode,那么使用C-u F5。比如打开文件a.c,缺省使用c-mode,在手工改为c++-mode后,使用C-u F5保持c++-mode不变,而F5则会恢复为c-mode

Customize psvn

psvn提供了在Emacs里面管理subversion repository的功能,我根据自己的喜好做了如下的配置:

(eval-after-load 'psvn
  '(progn
     (setq svn-status-hide-unknown t)
     (setq svn-status-hide-unmodified t)
     (add-hook 'svn-log-edit-done-hook
               (lambda ()
                 (kill-buffer svn-log-edit-buffer-name)
                 (with-current-buffer svn-status-buffer-name
                   (svn-status-update-cmd nil))))))

*svn-status* buffer里隐藏没有放入版本控制的文件,以及放入版本控制但是没有修改过的文件。如果想查看这两类文件的话,可以使用快捷键?_关闭隐藏功能。

Hook里面实现了两个功能,当提交成功后,先关掉编写log的buffer,然后更新(否则查询log时看不到最新提交的log)。