關於emacs和鍵盤

來源:互聯網
上載者:User

大約四年前淘汰自己的神舟學生本後,我就很討厭使用筆記本了。因為那彆扭的小鍵盤實在沒有碼字的快感。

我算是一個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這樣強大的記錄工具。

對於一個喜愛編程的人來說,用一個可程式化能力最強的環境來工作,不亦樂乎??

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.