Emacs常用快捷键
按鍵簡稱
C = Control
M = Meta = Alt | Esc
S = Shift
Del = Backspace
RET = Enter
文件
| 打開文件 | C-x C-f |
| 保存文件 | C-x C-s |
| 保存所有文件 | C-x s |
| 插入其他文件到當前緩沖區 | C-x i |
| 在當前緩沖區打開另一個文件 | C-x C-v |
| 另存為文件 | C-x C-w |
移動
| 移動的單位 | 向后 | 向前 |
| 字符 | C-b | C-f |
| 單詞 | M-b | M-f |
| 行 | C-p | C-n |
| 當前行開頭或結尾 | C-a | C-e |
| 句 | M-a | M-e |
| 段 | M-{ | M-} |
| 頁 | C-x [ | C-x ] |
| 表達式 | C-M-b | C-M-f |
| 函數 | C-M-a | C-M-e |
| 緩沖區開頭或結尾 | M-< | M-> |
| 垂直滾動屏幕 | C-v | M-v |
| 水平滾動屏幕 | C-x < | C-x > |
| 滾動當前行到屏幕中央 | C-u | C-l |
| 指定行移動 | M-g M-g |
刪除
| 刪除的單位 | 向后 | 向前 |
| 字符 | DEL | C-d |
| 單詞 | M-DEL | M-d |
| 行 | M-0 C-k | C-k |
| 句 | C-x DEL | M-k |
| 表達式 | M-- C-M-k | C-M-k |
| 刪除當前行 | C-S-DEL | ? |
| 刪除區域 | C-w | ? |
| 復制區域到刪除環 | M-w | ? |
| 刪除到字符 | M-z char | ? |
| 從刪除環中拉回內容 | C-y | ? |
| 從刪除環中拉回更早期的內容 | M-y | ? |
查詢替換
| 交互替換 | M-% |
| 使用正則表達式 | M-x query-replace-regexp |
| 在查詢替換模式下: | ? |
| 替換當前項并跳轉到下一項 | SPC |
| 替換當前項不跳轉 | , |
| 不替換當前項并跳轉到下一項 | DEL |
| 替換全部剩下的查詢結果 | ! |
| 回到上一個匹配結果 | ^ |
| 退出查詢替換 | RET |
| 進入遞歸編輯(C-M-c退出) | C-r |
獲取幫助
| 打開快速指南 | C-h t |
| 獲取按鍵幫助 | C-h k |
| 獲取函數幫助 | C-h f |
| 打開Emacs幫助手冊 | C-h r |
?
?
錯誤恢復
| 放棄當前命令或終止正在執行的操作 | C-g |
| 恢復因系統崩潰而丟失的文件 | M-x recover-file |
| 撤銷上一次操作 | C-x u或C-_ |
| 還原緩沖區的內容 | M-x revert-buffer |
| 刷新屏幕 | C-l |
標記
| 設置標記 | C-@ |
| 在當前光標位置和標記處跳轉 | C-x C-x |
| 設置單詞標記 | M-@ |
| 標記段 | M-h |
| 標記頁 | C-x C-p |
| 標記表達式 | C-M-@ |
| 標記函數 | C-M-h |
| 標記整個緩沖區 | C-x h |
多窗格
Emacs里一個框(Frame)是值窗口系統中的一個窗口,一個窗格(Window)則是指顯示在一個Frame
| ? | 窗格 | 框 |
| 刪除所有其他窗格 | C-x 1 | ? |
| 垂直分割 | C-x 2 | C-x 5 2 |
| 刪除當前窗格 | C-x 0 | C-x 5 0 |
| 水平分割 | C-x 3 | ? |
| 滾動其他窗格 | C-M-v | ? |
| 切換到另一個窗格 | C-x o | C-x 5 o |
| 在其他窗格切換緩沖區 | C-x 4 b | C-x 5 b |
| 在其他窗格顯示緩沖區 | C-x 4 C-o | C-x 5 C-o |
| 在其他窗格打開文件 | C-x 4 f | C-x 5 f |
| 在其他窗格以只讀方式打開文件 | C-x 4 r | C-x 5 r |
| 在其他窗格打開目錄 | C-x 4 d | C-x 5 d |
| 在其他窗格查找標簽 | C-x 4 . | C-x 5 . |
| 窗格高度增加 | C-x ^ | ? |
| 窗格寬度減少 | C-x { | ? |
| 窗格寬度增加 | C-x } | ? |
?
格式化
| 縮進當前行 | TAB |
| 縮進區域 | C-M-/ |
| 縮進表達式 | C-M-q |
| 增加縮進 | C-x TAB |
| 在當前位置后增加新行 | C-o |
| 當前位置到行尾的內容下移 | C-M-o |
| 刪除當前位置附近的空行 | C-x C-o |
| 將當前行連接到上一行 | M-^ |
| 刪除光標附近的空白 | M-/ |
?
大小寫轉換
| 單詞轉換為大寫 | M-u |
| 單詞轉換為小寫 | M-l |
| 單詞轉換為首字母大寫 | M-c |
| 區域轉換為大寫 | C-x C-u |
| 區域轉換為小寫 | C-x C-l |
交換
| 交換字符 | C-t |
| 交換單詞 | M-t |
| 交換行 | C-x C-t |
| 交換表達式 | C-M-t |
?
拼寫檢查
| 見車當前單詞拼寫 | M-$ |
| 檢查區域內所有單詞 | M-x ispell-region |
| 檢查整個緩沖區 | M-x ispell-buffer |
Shell命令
| 執行一個外部命令 | M-! |
| 在當前區域運行一shell命令 | M-| |
| 使用一個外部命令處理當前區域 | C-u M-| |
| 啟動一個shell | M-x shell |
鍵盤宏
| 開始記錄鍵盤宏 | C-x ( |
| 結束記錄鍵盤宏 | C-x ) |
| 執行最后一個宏 | C-x e |
| 追加內容到最后一個鍵盤宏 | C-u C-x |
| 給最后一個鍵盤宏命名 | M-x name-last-kbd-macro |
| 插入鍵盤宏的Lisp定義到當前緩沖區 | M-x insert-kbd-macro |
總結
以上是生活随笔為你收集整理的Emacs常用快捷键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 陌陌科技面试题
- 下一篇: Emacs自带的小游戏