Emacs經常使用命令

1.離開Emacs
掛起Emacs
C-z
退出Emacs
C-x C-c
2.文件
打開文件
C-x C-f
保存文件
C-x C-s
保存全部的文件
C-x s
將一個文件的內容插入到當前buffer
C-x i
將當前文件替換爲你須要的文件內容
C-x C-v
將當前buffer內容寫到你要存的文件
C-x C-w
將當前buffer設爲只讀模式
C-x C-q
3.獲取幫助
打開Emacs tutorial
C-h t
切換到當前Window
C-x 1
搜索包含某個字符串的幫助文檔
C-h a
搜索某組快捷鍵的幫助文檔
C-h k
搜索某個函數的幫助文檔
C-h f
獲取當前的mode信息
C-h m
查詢全部以C-x開頭的快捷鍵
C-x C-h
提示輸入一個組合鍵,顯示這個組合鍵綁定了什麼命令
C-h c
瀏覽Info信息
C-h i
最近輸入的300個組合按鍵
C-h l
查看綁定熱鍵
C-h b
4.錯誤恢復
終止當前命令輸入
C-g
恢復系統崩潰時丟失的文件
M-x recover-session
undo操做
C-x u,C-_,C-/
恢復buffer到最初的內容
M-x revert-buffer
清屏
C-l
5.增量搜索
前向搜索
C-s
後向搜索
C-r
查找狀態切換大小寫敏感
M-c
查找狀態自動匹配
M-Tab
查找狀態進入查找幫助
C-h C-h
查找 狀態將光標處直到行尾內容剪切到查找區域
C-w
查找狀態將光標處直到行尾內容複製到查找區域
C-y
查找狀態把kill 環中最後一項複製到查找區域
M-y
查找狀態刪除查找區域最後一個字符
C-M-w
查找狀態將光標處字符複製到查找區域最後
C-M-y
向前進行簡單查找
C-s Ret
向後進行簡單查找
C-r Ret
向前進行詞組查找
M-s w
向前進行詞組查找(非增量方式)
M-s w Ret
向後進行詞組查找(非增量方式)
M-s w C-r Ret
向前進行正則查找
C-M-s
向後進行正則查找
C-M-r
全文替換
M-x replace-string
全文正則替換
M-x replace-regexp
查找替換
M-x query-replace
進入遞歸編輯
M-x recursive-edit
退出遞歸編輯
M-x abort-recursive-edit
退出遞歸編輯
M-x top-level
 
6.移動
以字符爲單位移動
C-f, C-b
以單詞爲單位移動
M-f, M-b
移動到行首,行末
C-a, C-e
移動到第一個非空格字符
M-m
移動到句子頭,句子尾
M-a, M-e
移動到段落頭,段落尾
M-{, M-}
翻頁
C-v, M-v
到文件頭和文件尾
M-<, M->
到文件的第 N 字節
M-x goto-char
到文件第 N 行
M-x goto-line,M-g g
設定 goal-column
C-x C-n
取消 goal-column
C-u C-x C-n
跳到函數首
C-M-a
跳到函數尾
C-M-e
跳到下一個同級語法結構
C-M-f
跳到上一個同級語法結構
C-M-b
7.刪除
以字符爲單位刪除
DEL, C-d
以單詞爲單位刪除
M-DEL, M-d
以行爲單位刪除
M-0 C-k,C-k
以段落爲單位刪除
C-x DEL,M-k
剪切
C-w
複製
M-w
粘貼
C-y
用上一次的剪切內容來粘貼
M-y
 
8.標記
從光標處設置標記
C-@,C-SPC
交換光標位置並標記
C-x C-x
標記單詞
M-@
標記段落
M-h
標記頁
C-x C-p
標記sexp區塊
C-M-@
標記函數
C-M-h
標記整個buffer
C-x h
 
9.替換
字符串替換
M-%
正則表達式替換
C-M-%
替換模式下一個一個替換
SPC,y
替換模式下只替換一個
,
替換模式下不替換當前的直接跳到下一個
DEL,n
替換模式下替換全部
退出替換模式
RET
 
10.多Window
關閉其餘Window(frame),只顯示光標所在Window
C-x 1, C-x 5 1
水平分割Window
C-x 2
垂直分割Window
C-x 3
打開新的frame
C-x 5 2
關閉當前Window(frame)
C-x 0,C-x 5 0
滾動其餘Window
C-M-v
切換到其餘WIndow(frame)
C-x o,C-x 5 o
切換到其餘buffer
C-x 4 b
在其餘Window中顯示buffer
C-x 4 C-o
在其餘Window中打開文件
C-x 4 f
在其餘WIndow中打開只讀文件
C-x 4 r
在其餘Window中打開目錄
C-x 4 d
在其餘WIndow中尋找tag
C-x 4 .
向下拉伸Window
C-x ^
向左縮小Window
C-x {
向右拉大Window
C-x }
 
11.格式化
縮進(依賴mode)
TAB
區域縮進(依賴mode)
C-M-\
sexp縮進(依賴mode)
C-M-q
添加註釋
M-;
在光標以後添加新行
C-o
刪除空白函
C-x C-o
刪除光標周圍全部的空白
M-\
設置外觀
M-o
 
12.大小寫
單詞大寫
M-u
單詞小寫
M-l
首字母大寫
M-c
區域大寫
C-x C-u
區域小寫
C-x C-l
 
13.MiniBUffer
補全
TAB
補全單詞
SPC
執行
RET
顯示可能的執行
上一次minibuffer的輸入
M-p
後一次minibuffer的輸入
M-n
在minibuffer中向後搜索
M-r
在minibuffer中向前搜索
M-s
結束在minibuffer中的輸入
C-g
 
14.Buffer
選擇buffer
C-x b
列出全部的buffer
C-x C-b
關閉當前buffer
C-x k
 
15.置換
置換字符
C-t
置換單詞
M-t
置換行
C-x C-t
置換sexps區域
C-M-t
 
16.拼寫檢查
當前單詞拼寫檢查
M-$
區域中的單詞檢查
M-x ispell-region
buffer中的單詞檢查
M-x ispell-buffer
 
17.Tag
查找一個tag
M-.
查找下一個tag
C-u M-.
指定一個tag文件
M-x visit-tags-table
遞歸搜索整個tag文件
M-x tags-search
tag查找替換
M-x tags-query-replace
繼續最後一次tag查找或替換
M-,
 
18.Shells
執行一個shell命令
M-!
在當前區域中執行shell命令
M-|
開啓一個shell窗口
M-x shell
 
19.矩形區域
複製一個矩形區域到寄存器
C-x r r
刪除一個矩形區域
C-x r k
粘貼一個區域
C-x r y
插入一個矩形塊,字符右移
C-x r o
清除一個矩形塊,使其成爲空白字符
C-x r c
在選中的矩形塊中插入指定的字符
C-x r t
 
20.縮寫
添加全局縮寫
C-x a g
添加某個mode的縮寫
C-x a l
動態擴展上一個單詞
M-/
 
21.正則表達式
代替任何字符除換行符
.
替換0個或多個字符
*
替換1個或多個字符
+
替換0個或1個字符
正則表達式字符c
\c
\|
分組
\(\)
行首
^
行尾
$
單詞首
\<
單詞尾
\>
buffer首
\'
buffer尾
\'
包含的字符組
[...]
不包含的字符組
[^...]
 
22.字符編碼
設置語言環境
C-x RET l
顯示輸入法
M-x list-input-methods
開啓關閉輸入法
C-\
設置編碼環境
C-x RET c
顯示編碼系統
M-x list-coding-systems
選擇喜歡的編碼系統
M-x prefer-coding-systems
 
23.Info
進入Info文檔
C-h i
在Info文檔中搜索特定的函數和變量
C-h S
 
24.寄存器
將當前區域保存到寄存器中
C-x r s
將寄存器內容插入到buffer中
C-x r i
保存當前點到寄存器中
C-x r SPC
跳轉到某個寄存器
C-x r j
 
25.按鍵宏
開始定義按鍵宏
C-x (
結束按鍵宏定義
C-x )
執行最後定義的按鍵宏
C-x e
添加到最後的按鍵宏
C-u C-x (
命名最後一個按鍵宏
M-x name-last-kbd-macro
在buffer中插入lisp定義
M-x insert-kbd-macro
 
26.用Elisp處理命令
在當前點執行lisp語句
C-x C-e
執行當前函數
C-M-x
執行當前區域
M-x eval-region
從minibuffer讀取命令而且執行
M-:
載入標準系統庫
M-x load-library
 
27.簡單的配置
打開配置頁面
M-x customise
設置鍵綁定
(global-set-key (kbd "C-c g") 'search-forward)
 
28.編寫命令
命令編寫模板
(defun command-name (args)
 "documention" (interactive "template")
  body)
相關文章
相關標籤/搜索