前面學習了Emacs的基本編輯功能。為了讓編輯更有效率,還需要了解:
- 窗口管理
- 緩沖區管理
- 搜索和替換
- 批量處理
窗口管理
C-x 2 split-window-vertically 水平分割
C-x 3 split-window-horizontally 豎直分割
C-x 1 delete-other-window 只保留當前窗格
C-x 0 delete-window 關閉當前窗格
C-x o other-window 切換窗格
C-M-v scroll-other-window 滾動下一個窗格
緩沖區管理
Emacs中,打開新的buffer,不會關閉原有buffer,而是需要手工操作:
C-x C-b list-buffers 查看緩沖區列表
C-x b switch-to-buffer 切換緩沖區
C-x k kill-buffer 關閉緩沖區
其他:可以參考ibuffer.el擴展
搜索和替換
Emacs中的搜索包括增量搜索和一般搜索。增加搜索是每次在前一次搜索的結果基礎上繼續搜索。在增量搜索時,如果上一次搜索之后進行了其他操作,則需要連續按兩次快捷鍵才能召回關鍵詞。
可以選中區塊后在區塊內進行搜索
增量搜索
C-s M-x isearch-forward 向前增量搜索
C-r M-x isearch-backward 向后增量搜索
C-M-s M-x isearch-forward-regexp 正則表達式向前增量搜索
C-M-r M-x isearch-backward-regexp 正則表達式向后增量搜索
一般搜索
M-x search-forward 向前搜索
M-x search-backward 向后搜索
M-x search-forward-regexp 正則表達式向前搜索
M-x search-backward-regexp 正則表達式向后搜索
替換
M-x replace-string 替換
M-x replace-regexp 正則表達式替換
詢問替換
M-% M-x query-replace 詢問替換
C-M-% M-x query-replace-regexp 正則表達式詢問替換
取消搜索
C-g 取消搜索,光標返回搜索前的位置
RET結束搜索,光標停留在當前位置。
批量處理
批量處理的命令應該有很多,這里列出2個:
選中區域, M-x untabify:將 TAB 字符轉換為空格
選中區域, M-x indent-region:對齊文本塊