2012年3月10日 星期六

在tcsh bash上使用vim,emacs key binding

在unix系統裡很多人都會使用emacs或vim這兩種歷史悠久又很受歡迎的編輯器。這兩種編輯器的鍵盤設定也很有各自強烈的特色。在各有龐大的使用者基礎下,許多的軟體(尤其是unix上的軟體)就常提供這兩種編輯器鍵盤設定作為他們的操作設定。

即使你不使用emacs或vi,熟悉任一種操作設定也很有幫助,因為那就 等同於你熟悉了一種通用操作方式。例如less支援vi鍵盤操作, gdb, bash, tcsh都同時支援vi及emacs的操作方式。就連各個瀏覽器也都有人試著使用這兩種操作方式來操作。

先不提未來的種種優點,至少第一步在shell的輸入上,你就能獲得立即的好處。


Tcsh:
Tcsh的key binding預設是emacs style
列出目前設定:bindkey
設定為emacs鍵盤操作: bindkey -e
設定為vi鍵盤操作: bindkey -v

Bash
Bash 預設key binding也是emacs style
列出目前設定:bind -p
設定為emacs鍵盤操作: set -o emacs
設定為vi鍵盤操作: set -o vi


如果你真的都不熟,對照著下面相關資料裡提供的速查表,練習一下很快就能記住。下面連結中是以bash說明,tcsh除了設定的指令不同外,鍵盤操作當然是大致相同。別忘了,我們就是想熟悉一種可以通用的操作方式。