My .emacs

emacs當然不是最好上手的editor,不過功能強大、擴充容易,目前仍然是程式開發最佳選擇之一。我的.emacs設定檔設定了[f4]為關檔、[f5]為執行make、[ctrl-enter]為設定記號,因為原先的[ctrl-space]會跟輸入法衝到。另外(windmove-default-keybindings)是超好用的視窗切換熱鍵,例如要移到下方的視窗,就是按shift-down。印象中這功能在21版還沒有。剩下的功能都是直接在emacs裡頭執行customize來設定的,建議就不要手動改了。

幾個比較特別或有用的設定:

‘(current-language-environment “Chinese-BIG5”) 用來指定預設環境為BIG5中文。這環境在UTF-8以及BIG5底下都工作正常,但這到22版才真正有用。

‘(default-major-mode (quote text-mode)) 由於 emacs 是我預設用來寫email的editor,所以設定預設模式為text-mode會比原本的fundamental-mode方便。

‘(initial-frame-alist (quote ((width . 80) (height . 60)))) 改變預設視窗大小。

‘(server-mode t) server-mode是個很好用的新功能。打開之後,只要在其他視窗打emacsclient xxx就會自動用已經在執行的emacs開檔。我目前環境變數EDITOR的內容為”emacsclient -a emacs”,試試看。

‘(winner-mode t nil (winner))) 視窗調大小以後可以用winner-mode還原/重做。熱鍵是Ctrl-C, left/right.

調字型的方法:22版對gtk支援,應該是不用調。真的要調的話,用shift-滑鼠左鍵叫出字型視窗,選到自己喜歡的以後,進入customize-group, basic-face, default底下,把那邊的值寫入.emacs即可。

;; global set key
(global-set-key [f4] `kill-buffer)
(global-set-key [f5] `compile)
(global-set-key [C-return] `set-mark-command)
(windmove-default-keybindings)

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(c-default-style (quote ((c-mode . "stroustrup") (java-mode . "java") (awk-mode . "awk") (other . "gnu"))))
 '(current-language-environment "Chinese-BIG5")
 '(default-major-mode (quote text-mode))
 '(initial-frame-alist (quote ((width . 80) (height . 60))))
 '(prolog-system (quote gnu))
 '(scroll-bar-mode (quote right))
 '(server-mode t)
 '(show-paren-mode t)
 '(tool-bar-mode nil)
 '(user-mail-address "cylee@programmer.net")
 '(winner-mode t nil (winner)))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(default ((t (:stipple nil :background "black" :foreground "grey" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 105 :width normal :family "adobe-courier")))))

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s