2012年3月7日

emacs編輯器

unix/linux底下的兩大console model編輯器,就是vi/vim與emacs,兩者各有支持者,好壞就不說,只是一直使用vim的我,最近在看到人家介紹emacs,實在想給他試用一下,再說說我個人的感覺

如果熟知vim,大致上他就兩種mode,一種insert,一種command model
相對於command model是emacs主要使用兩種組合鍵
C+k control key加上k
M+k meta key加上k
control key大概稍微看過鍵盤的人都知道,問題在於meta key,其實meta key有三種esc, alt, edit,最范用的是esc,但是我覺得alt最方便(但是在x-win會跟系統menu衝突),edit則是少數鍵盤才有的key
另外一個好處是跟壞處是,emacs有許多版本,如果預設安裝emacs,ubuntu會安裝x-win,可是我不喜歡,我想安裝console mode版本,也有名為emacs-nox,真夠簡潔XD,不過問題又來了,他會跟x-win版本衝突,所以必須要移除?好處是,他開啟的時候有中文的文件,vim幾乎都是英文的樣子(我遙遠的記憶,不知道現在翻譯完畢沒有!?)

在紀錄指令之前,我先說一下,對於meta key我實在很不欣賞,不管是vim或者emacs,我覺得esc按鍵離手很遠,用小指頻繁的去點,對手部是一個負擔,偏偏vim或者emacs都要用到orz

游標移動
C+v 下一頁
M+v 上一頁
C+l 刷新螢幕
C+p 向上
C+n 向下
C+f 向右
C+b 向左
M+f 向右一個word
M+b 向左一個word
C+a 一行開頭(home)
C+e 一行結尾(end)
M+a 句子開頭
M+b 句子結尾
參數模式
C+u 8 C+v 表示向下移動八行
C+u通常用來接受參數
編輯
直接輸入就是插入

    刪除游標所在的 前一個字元
C-d          刪除游標所在的 後一個字元
M-   刪除游標所在的 前一個字
M-d          刪除游標所在的 後一個字
C-k          刪除從游標所在到「行尾」間的字元
M-k          刪除從游標所在到「句尾」間的字元
C+x u 取消(undo)

Buffer操作
每個emacs的編輯視窗叫做buffer
C+x C+f 開啟檔案,意思是find
C+x C+b 表示列出所有buffer
C+x 1 (數字1)表示關閉其他buffer,只留下目前這個
C+x C+s save buffer
C+x k kill buffer
C-x C-c  離開 Emacs。

以上總結一下emacs tutorial一半的內容

1 則留言:

匿名 提到...

vim的话,也可以用C-[来代替Esc