关于emacs和键盘

大约四年前淘汰自己的神舟学生本后,我就很讨厌使用笔记本了。因为那别扭的小键盘实在没有码字的快感。

我算是一个emacs中毒已深的用户,所以对键盘这个外设有自己的特别要求。

当使用笔记本时,除了外接键盘外,只能使用Caps代替Ctrl才能减少自己的旦腾次数。


重度使用emacs约有五年了,我一直希望像jwz一样把自己的手指用残,同时实现经济自足,开个酒吧之类的。

后来发现jwz是少数幸运儿,就打消念头,设法在自己混出世之前Hold住双手不得什么RSI。

我的方法也很简单,就是不断变换指法和尝试更好的键盘。


用emacs最关键是你怎么按ctrl,最初我是caps-ctrl互换,后面为了方便和别人的沟通演示,就把caps 左ctrl同定义,再把不常用的app键定成caps原有的功能。这样相安无事用了二年多,左手小指开始以偶发的痛感报复我了。好吧,于是我开始用alt-ctrl互换的方法。

这是我改行做browser开发之后的事情。似乎新工作更忙,所以一年左右以后,姆指也开始痛感报复。这时我回想一年来没有同事可以借用我的电脑(alt-ctrl互换其他人很不习惯),所以我开始完全不做任何键盘重定义,只用手掌根部分别按ctrl,这个方法看起来很健康了。

但还是没撑够一年,右手腕也开始报复。


这期间我换过不少键盘,从有线换到无线,又下狠心买了个微软的人体工程4000键盘。到右手腕痛时,我开始使用cherry原装的茶轴机械键盘。

我总结一下目前对键盘的看法吧。。


一般的是薄膜键盘,文艺的是机械键盘,还有就是微软的人体工程4000键盘(这个键盘我昨天拆开来看了一下,发现最最最重要的空格键那么大的空间,居然只有一个薄膜触点,而这么设计竟是为了拆卸,这是我见过的最213的设计)。。。


其实我也不是非常喜欢天天拿emacs说事,只是这东西是我作为程序员的一个工作环境。

在我用ack、perl、c++、lisp、shell、ssh、id-util、ndk-gdb时由于都是在emacs当中,于是不由得习惯用emacs来指代我所做的一切。


对于其他人问我为什么一直使用emacs,最近我的回答是:

这个编辑器发展的时候比我岁数还大,几乎所有你想要的功能,她都有支持。


其中最近的一个例子是:一个同事最近在研究一份巨大的代码,他想就地添加注释,但是又不想改动这些文件。问我有什么工具。

一开始我推荐用mercurial做一个版本记录(但这方法本质上修改了文件,只是能还原而已)。后来在google上找了找inplace annotations emacs

直接找到一种成熟的emacs扩展。叫ipa   http://www.emacswiki.org/emacs/InPlaceAnnotations

手工加一些定制,这个功能立即添加到emacs当中。这是没有相关经验的人难以想象的。

(when (require 'ipa nil 'noerror)
  (require 'cl)
  (global-set-key (kbd "C-c a i") 'ipa-insert)
  (global-set-key (kbd "C-c a e") 'ipa-edit)
  (global-set-key (kbd "C-c a n") 'ipa-next)
  (global-set-key (kbd "C-c a p") 'ipa-previous)
  (global-set-key (kbd "C-c a s") 'ipa-show)
  (global-set-key (kbd "C-c a j") 'ipa-jump)
  (global-set-key (kbd "C-c a c") #'(lambda ()
                                    (interactive)
                                    (when (y-or-n-p "sure to delete all ipa note?")
                                      (save-excursion
                                        (goto-char 0)
                                        (let (ann)
                                          (while (setq ann (ipa-next))
                                            (delete-overlay (car ann))
                                            (setq ipa-annotations-in-buffer
                                                  (delq ann ipa-annotations-in-buffer))
                                            (goto-char 0))))
                                      (message "Cleared annotation.")
                                      (ipa-save-annotations-if-necessary t)))))

在相关的搜索中,还发现deft和org-annotate-file这样强大的记录工具。


对于一个喜爱编程的人来说,用一个可编程能力最强的环境来工作,不亦乐乎??

猜你喜欢

转载自blog.csdn.net/DelphiNew/article/details/7049374
今日推荐