2012年9月23日 星期日

[精選] 讓 Mac 全面支援 Emacs 按鍵設定

(本文主要針對 Emacs 用戶)

在舊文「在 Mac 上自訂 Windows 按鍵習慣 - Part I 基本設定」 中介紹了怎麼樣利用 KeyRemap4MacBook 以及 SharpKeys 來讓 Mac 使用 Windows 按鍵規則。

由於我現在大部分時間都使用 Mac,外加 Xcode 大量使用 Mac 按鍵組合,所以後來就強迫自己適應 Mac 的按鍵規則了。

採用 Mac 的按鍵規則有一個額外的好處,只要使用 Option 作為 Meta 鍵,就可以幾乎全面相容 Emacs 按鍵規則。


以下是我最新的設定。

1. 把 DefaultKeyBinding.dict 設定檔 儲存到 ~/Library/KeyBindings/DefaultKeyBinding.dict

這可以讓 Mac 程式直接支援 Emacs 按鍵。

2. 為了讓 Windows 改用 Mac 按鍵規則,請參考新的 KeyRemap4MacBook 的 private.xml 設定檔

這個設定檔提供一個新選項可以讓 VMware 中的 Windows 內使用 Emacs 按鍵。

3. Windows 內還是需要安裝 SharpKeys 把 Alt 鍵跟 Windows 鍵對調:



注意事項

  • DefaultKeyBinding.dict 不能建立為 symbolic link (新版 Mac OS 的安全性規則)。
  • 設定 DefaultKeyBinding.dict 後,Xcode 也會很聰明的自動相容這些設定。你還可以在 Xcode 的選單中做更多自訂的按鍵設定。
  • 在 Windows 中我把 Alt+[ABCD...Z] 對應到 Windows 的 Control 熱鍵,以符合 Mac 按鍵習慣。
    但 Windows 有時按到 Alt 鍵就會跳出選單,目前無法解決,所以 Windows 內的操作經驗會比較差。
  • Bash, gdb 等命令列程式原本就內建支援 Emacs 按鍵。
  • Firefox 因為沒採用 Mac OS 原生的編輯元件,所以無法支援 Emacs 按鍵,但 Chrome 使用上沒問題,可以快樂的在 gmail 內使用 Emacs 按鍵。
  • 前面的第三個步驟 SharpKeys 其實可以用 KeyRemap4MacBook 取代,但效果會比較差,而且在設定 BetterTouchTool 時容易混亂。
  • 這些設定有些適用於 Linux in VMware,有些不適用,在此限於篇幅不詳述了。我目前覺得 Mac 的終端機比 Linux 上的好用,寧可從 Mac ssh 進 Linux 的虛擬機器。
不論你是否設定成功,都歡迎留言告知。

沒有留言:

張貼留言