Posted on 2010-08-20 16:01
無很 閱讀(701)
評論(0) 編輯 收藏
基本命令
C-x C-c : 退出Emacs
C-x C-f : 打開一個文件,如果文件不存在,則創建一個文件
C-g : 取消未完成的命令
編輯
C-z (redefined): Undo;原來C-z是掛起Emacs(然后用fg命令調出);C-x u 是默認的命令; 移動一下光標,再C-z就可以redo
M-d : 刪除光標后的詞語
移動光標
C-v : 向前翻頁
M-v : 向后翻頁
M-r : 將光標移動到屏幕中間那行
C-a : 移到行首
M-a : 移到句首,從行首到句首之間可能有空格
C-e : 移到行尾
M-e : 移到句尾
M-{ : 向上移動一段
M-} : 向下移動一段
C-right : 向前移動一個單詞
C-left : 向后移動一個單詞
C-up : 向前移動一段
C-down : 向后移動一段
M-< : 移到整個文本開頭
M-> : 移到整個文本末尾
C-u 數字 命令 : 執行多次(數字表示次數)該命令;“M-數字 命令” 也可以
M-x goto-line : 移動到某一行
C-l : 重繪屏幕,效果就是當前編輯行移動窗口中央
Buffer 相關
C-x k : 關閉當前buffer
C-x b : 切換到前一個編輯的buffer
C-x C-b : 列出當前所有buffer
C-x C-s : 保存當前buffer
C-x s : 保存所有未保存的buffer,會提示你是否需要保存
C-x C-w : 文件另存為
拷貝與粘貼
M-space (redefined): 設置mark; C-@ 是默認命令
C-w (redefined) : 剪切一塊區域;如果沒有設置mark,則是剪切一行
M-w (redefined) : 拷貝一塊區域;如果沒有設置mark, 則是拷貝一行
C-k : 從當前位置剪切到行尾
C-y : 粘貼
M-y : 用C-y拉回最近被除去的文本后,換成 M-y可以拉回以前被除去的文本。鍵入多次的M-y可以拉回更早以前被除去的文本。
C-x r k : 執行矩形區域的剪切
C-x r y : 執行矩形區域的粘貼
窗口操作
C-x 0 : 關閉當前窗口
C-x 1 : 將當前窗口最大化
C-x 2 : 垂直分割窗口
C-x 3 : 水平分割窗口
M-o (redefined) : 在窗口之間切換; C-x o 是默認命令
C-x 5 1/2/3/0 : 對frame類似的操作
C-x < : 窗口內容右卷
C-x > : 窗口內容左卷(這兩個命令在垂直分割窗口后比較有用)
(C-u) C-x ^ : 加高當前窗口,如果有C-u,則每次加高4行
(C-u) C-x } : 加寬當前窗口
(C-u) C-x { : 壓窄當前窗口
ESC C-v : 在其它窗口進行卷屏操作
搜索和替換
C-s : 向前搜索(增量式搜索);連續C-s,跳到下一個搜索到的目標
C-s RET : 普通搜索
C-r : 向前搜索
C-s RET C-w : 按單詞查詢
M-% : 查詢替換,也就是替換前會詢問一下
M-x replace-string : 普通替換
Tags
M-! etags .c .h : 創建TAGS文件
M-. : 跳到tag所在位置
M-x list-tags : 列出tags
Bookmark
C-x r m : 設置書簽bookmark
C-x r b : 跳到bookmark處
幫助
C-h ? : 查看幫助信息
C-h f : 查看一個函數
C-h v : 查看一個變量
C-h k : 查看一個鍵綁定 (C-h c 也是查看鍵綁定,但是信息較簡略)
C-h C-f : 查看一個函數的Info,非常有用
C-h i : 看Info
其它
C-M-\ : 對選中區域,按照某種格式(比如C程序)進行格式化
C-x h : 全部選中
M-! : 執行外部shell命令
M-x shell : 模擬shell的buffer
M-x term : 模擬terminal, C-c k 關閉terminal
C-x C-q : 修改buffer的只讀屬性
翻頁
C-v 下一頁
M-v 上一頁
選擇
M-h 選擇段落
C-x h 全部選擇
普通區塊
C-SPC M-x set-mark-command 單個位置set mark
C-@ 同上
M-@ 對word進行set Mark
M-w 先set Mark,移到光標,M-w就可以復制
C-w 剪切
矩形區塊
用這些快捷鍵要先關閉cua-mode
C-x r t 用串填充矩形區域
C-x r o 插入空白的矩形區域
C-x r y 插入之前刪除的矩形區域, 粘貼時,矩形左上角對齊光標
C-x r k 刪除矩形區域
C-x r c 將當前矩形區域清空
寄存器
----------------------------------------------------------------------
光標位置和窗口狀態
C-x r SPC <寄存器名> 存貯光標位置
C-x r w <寄存器名> 保存當前窗口狀態
C-x r f <寄存器名> 保存所有窗口狀態
C-x r j <寄存器名> 光標跳轉
文本和數字
C-x r s <寄存器名> 將連續區塊拷貝到寄存器中
C-x r r <寄存器名> 將矩形區塊拷貝到寄存器中
C-u <數字> C-x r n <寄存器名> 將數字拷貝到寄存器中
C-x r i <寄存器名> 在緩沖區中插入寄存器內容
M-x view-register 查看寄存器內容
M-x list-registers 查看寄存器列表
宏模式
C-x ( 開始一個宏的定義
C-x ) 結束一個宏的定義
C-x e 執行宏
M-x name-last-kbd-macro 給最后一個宏命名
M-x insert-kbd-macro 在當前文件中插入一個已定義并命名過的宏
書簽
C-x r m <name> 設置書簽
C-x r b <name> 跳轉到書簽
C-x r l 書簽列表
M-x bookmark-delete 刪除書簽
M-x bookmark-load 讀取存儲書簽文件
M-x bookmark-save 保存到文件
目錄模式
----------------------------------------------------------------------
C-x d M-x dired 啟動目錄模式
C-x C-d 簡單目錄
程序
C-x C-z 掛起程序
C-c C-x 退出程序
C-c k 關閉buffer
C-l 重畫屏幕
C-g 結束命令,或者假死中恢復,也可以按3次ESC
文件
C-x C-s 保存
C-x C-w 另存為
C-x C-f 打開文件
C-x C-r 只讀方式打開
C-x C-v 讀入另外一個文件代替當前buffer的文件
C-x s 保存所有
C-x i 將文件的內容插入
M-x revert-buffer 恢復到原始狀態
跳轉
前/后 單位
C-f/b 字
M-f/b 詞
C-a/e 行內
M-a/e 句
M-</> 文檔
C-p/n 行間
M-{/} 段落
C-x ]/[ 頁
C-x C-x 文件內,mark之間
M-g g 跳到指定行
M-x goto-char 跳到指定字符
編輯
M-u 后面單詞變為大寫
M-l 后面單詞變為小寫
M-c 后面單詞的首字母變大寫
M-/ 補全
C-j 從當前位置分成兩行,相當于RET + tab
M-( 插入()
C-q tab 插入tab
C-q C-m 插入^M
M-; 插入注釋
C-o 回車
刪除
M-d 后一詞
C-d 后一字
M-del 前一詞
M-k 到句尾
M-" 前面的所有空白
M-z 刪到指定字母處
C-k 刪除到行尾
文本換位
C-t 字符
M-t 單詞
C-x C-t 行
M-x transpose-* 其他命令
撤銷
C-/
C-x u
C-_
C-z
重做
C-g M-x undo
C-g C-/
C-g C-z
C-g C-_
粘貼
C-y
C-v
tab/空格轉換
M-x tabify
M-x untabify
讓選擇的區塊自動對齊
M-x indent-region
其他命令
C-u <數字> <命令> 重復命令n次
M-<數字> <命令> 同上
M-! 運行shell命令
C-u M-! 執行一條外部命令,并輸出到光標位置
M-x cd 改變工作目錄
M-x pwd 當前工作目錄
C-" 啟動輸入法
M-` 菜單
F10 菜單
M-x eval-buffer 在.emacs的buffer中運行,重新加載emacs配置
查找替換
----------------------------------------------------------------------
C-r 向上查找
C-s 向下查找
C-s C-w 向下查找,光標位置的單詞作為查找字符串
C-s C-y 向下查找,光標位置到行尾作為查找字符串
C-s RET <查找字符串> RET 非遞增查找
C-s RET C-w 不受換行、空格、標點影響
C-M-s 正則式向下查找
用向上查找命令就將上面命令的s替換為r
M-% 替換
C-M-% 正則式替換
y 替換當前的字符串并移動到下一個字符串
n 不替換當前字符串,直接移動到下一個字符串
! 進行全局替換,并要求不再顯示
. 替換當前字符串,然后退出查找替換操作
q 退出查找替換操作,光標定位到操作開始時的位置
其他命令
M-x replace-*
M-x search-*
窗口
C-x 0 關掉當前窗口
C-x 1 關掉其他窗口
C-x o 切換窗口
C-x 2 水平兩分窗口
C-x 3 垂直兩分窗口
C-x 5 2 新frame
buffer
C-x C-b 查看
C-x b 切換
C-x C-q 設為只讀
C-x k 刪除
C-x left/right 切換