=== 寫在前面 ===
`C-' Control-(即 Ctrl-),按住 Ctrl 鍵再按其他鍵
`M-' Meta-(或 Alt-),按住 Alt 鍵再按其他鍵;或按一下 ESC,再按其他鍵
`C-M-' Control-Alt-,按住 Ctrl 和 Alt 兩個鍵再按其他鍵
point 位點。文檔中的一個位置,一般是光標(biāo)的左下角
mark 標(biāo)記。由命令設(shè)置,用來定義/保存文檔中的位置信息
region 區(qū)域。在 mark 和 point 之間部分,稱為一個 region
RET 回車鍵
TAB 制表符鍵
ESC ESC 鍵
SPC 空格鍵
Backspace, 退格鍵
Delete 刪除鍵
=== 如果不知道 ===
C-x C-c 退出并關(guān)閉 Emacs
C-z
C-x C-z 退出并掛起 Emacs
C-x C-f 打開文件/目錄
C-x i 插入文件內(nèi)容
C-x C-r 只讀方式打開一個文件
C-x u Undo( 想要Redo,動一下光標(biāo)或按一下 C-g 再Undo :)
C-x C-s 保存文件
C-x s 詢問保存所有未存盤文件
C-x C-w 文件另存為…
C-l 刷新窗口,并將當(dāng)前行移至窗口中心。給定參數(shù),可以設(shè)置
當(dāng)前行的位置,不妨試試 M-0 C-l 或 M-- C-l 或 M-4 C-l
C-g 退出當(dāng)前命令。如果你不知道Emacs正在干什么呢,多按幾次
C-g,就會恢復(fù)到正常狀態(tài)
=== 在線幫助 ===
C-h t TUTORIAL
C-h i Online Info
C-h c 給出鍵序列(簡稱鍵)綁定的命令名字
C-h w 由命令名字給出鍵的綁定
=== 給命令傳參數(shù) ===
C-u 給定參數(shù)前綴
M-0
...
M-9 參數(shù)0...9
M-- 負(fù)參數(shù)
=== 光標(biāo)的移動 ===
C-a 行首
C-e 行尾
C-n 下一行
C-p 上一行
C-f 前進(jìn)一個字符
C-b 后退一個字符
M-f 前進(jìn)一個詞
M-b 后退一個詞
=== 搜索和替換 ===
C-s 增量搜索
C-r 向后增量搜索
M-x search-forward
搜索
M-x search-backward
向后搜索
C-M-s
M-x isearch-forward-regexp
正則表達(dá)式增量搜索
C-M-r
M-x isearch-backward-regexp
正則表達(dá)式向后增量搜索
M-x search-forward-regexp
正則表達(dá)式搜索
M-x search-backward-regexp
正則表達(dá)式向后搜索
ESC % 詢問替換
M-x query-replace-regexp
正則表達(dá)式詢問替換
M-x replace-string 替換
M-x replace-regexp 正則表達(dá)式替換
===區(qū)域的拷貝和粘貼===
* 區(qū)域是Mark和Point之間的部分,Point就是光標(biāo)的左下角,Mark由命令設(shè)置。
* `Yanking ring'是一個存放文本的地方,從這里你可以拷貝刪除(kill)的文本。
* `Yanking'表示插入剛剛刪除(kill)的文本。
C-SPC
C-@
M-x set-mark-command
設(shè)置 mark
C-x C-x 交換 mark 和 point
C-w 將區(qū)域的文本刪除,并放入yanking ring中
M-w 復(fù)制區(qū)域到y(tǒng)anking ring中
C-y 將yanking ring中最后一個區(qū)域插入當(dāng)前緩沖區(qū)
M-y 按一次C-y后,多次按M-y,則用yanking ring中的其他區(qū)域替
換剛剛插入的區(qū)域
C-o 在光標(biāo)后面插入空行
C-x C-o 將光標(biāo)附近的空行去掉,多行的時候,第一次只剩一行,第二
次全部刪除
C-d 刪除一個字符(不能yank)
M-d 刪除光標(biāo)附近的一個詞
C-x h 將整個緩沖區(qū)設(shè)置為區(qū)域(緩沖區(qū)尾是mark,首是point)
C-k 刪除(kill)從光標(biāo)處到行尾
=== 基本編輯 ===
C-q 插入下一個的字符,比如插入字符`^X'用“C-q C-x”
C-t 交換兩個字符
M-t 交換兩個詞
C-x C-t 交換兩行
C-x = 顯示光標(biāo)所在字符的信息
C-v 向下滾動窗口
M-v 向上滾動窗口
=== 多窗口和多緩沖區(qū) ===
C-x b 轉(zhuǎn)到另一個緩沖區(qū)
C-x k 刪除緩沖區(qū)
C-x 2 水平分個窗口
C-x 3 垂直分割窗口
C-x 1 去掉其它窗口
C-x 0 去掉當(dāng)前窗口
C-x o 光標(biāo)到另一個窗口中
C-M-v 向下滾動另一個窗口,給一個負(fù)的參數(shù),則向上滾動
=== 宏 ===
C-x ( 開始一個宏的定義
C-x ) 結(jié)束一個宏的定義
C-x e 執(zhí)行宏
M-x name-last-kbd-macro
給最后一個宏命名
M-x insert-kbd-macro
在當(dāng)前文件中插入一個已定義并命名過的宏
=== 矩形區(qū)域操作 ===
* 矩形區(qū)域的兩端是由 Mark 和 Point 確定的。
C-x r t 用串填充矩形區(qū)域
C-x r o 插入空白的矩形區(qū)域
C-x r y 插入之前刪除的矩形區(qū)域
C-x r k 刪除矩形區(qū)域
C-x r c 將當(dāng)前矩形區(qū)域清空
=== Planner ===
M-x plan 查詢所有未完成的工作
M-x planner-goto-today 查詢當(dāng)天未完成的工作
C-c C-t或者M(jìn)-x planner-create-task-from-buffer 添加任務(wù)
C-c C-x或者M(jìn)-x planner-update-task 標(biāo)記任務(wù)完成
M-x planner-edit-task-description 修改任務(wù)描述
C-c C-c 重新安排一個任務(wù)
M-x planner-replan-task Change a plan of task
M-x planner-delete-task Delete a task
M-p 升序
M-n 降序 Reordering task
C-M-p 提升優(yōu)先級;
C-M-n 降低優(yōu)先級