Emacs常用基本操作


按鍵約定

組合按鍵

Emacs中大量的按鍵操作都是各式各樣的組合按鍵(快捷鍵),下面是幾種通常的約定:

  • Ctrl鍵:表示為C
  • Alt鍵:表示為M
  • Shift鍵:表示為S
  • 組合按鍵:比如向下移動一行的組合按鍵是Ctrl+n,就表示為:C-n,其含義表示同時按下鍵盤上的Ctrln鍵。

按鍵順序

有時候用多個組合按鍵來表示一種操作,比如以下按鍵序列:C-x C-f [文件路徑] <RET>就表示打開文件的操作,它表示這樣的操作含義:先同時按下Ctrlx鍵,然后松開,緊接着馬上再同時按下Ctrlf鍵,然后再松開,然后在下方的輸入欄中輸入文件路徑,輸入完之后按回車鍵(用<RET>表示),最后就打開了一個文件。

還有一種按鍵順序:C-x o,表示切換到另外一個緩沖區,它是這樣一組按鍵:先同時按下Ctrlx鍵,然后松開,然后緊接着按字母o鍵。

還有另外一種按鍵順序,比如以下按鍵序列:C-u [10] C-p,就表示這樣的操作含義:先同時按下Ctrlu鍵,然后松開,然后依次按10鍵,然后松開,最后再同時按Ctrlp鍵。這組按鍵達到的效果就是把光標從當前位置往上移動10行。

特殊按鍵

  • 表示輸入內容,用方括號括起來:[輸入的內容]
  • 表示回車鍵:<RET>
  • 表示其他鍵:比如<Backspace>表示退格鍵(刪除鍵),<Delete>表示刪除鍵,<TAB>表示TAB鍵,<Left>表示左箭頭鍵,<Right>表示右箭頭鍵,<Up>表示上箭頭鍵,<Down>表示下箭頭鍵,<f5>表示F5鍵。

Quick Start

文本操作,無外乎打開文件、編輯文件、保存文件,涉及的核心、最高頻命令非常簡單,整理如下:

  • C-x C-f [文件路徑] <RET>:打開一個文件
  • C-n:將光標向下移動一行
  • C-p:將光標向上移動一行
  • C-g:取消之前的按鍵(將會成為最常用的按鍵之一)
  • C-x C-s:保存文件
  • C-x C-c:退出Emacs

常用操作分類匯總

文件操作

  • C-x C-f [文件路徑] <RET>:打開一個文件
  • C-x C-s:保存文件
  • C-x 4 f [文件路徑] <RET>:在一個新的窗格(緩沖區)中打開文件
  • C-x 5 f [文件路徑] <RET>:在一個新的窗口中打開文件

移動操作

  • C-n:將光標向下移動一行
  • C-p:將光標向上移動一行
  • C-b:將光標左移一個字符
  • C-f:將光標右移一個字符
  • M-f:將光標右移一個單詞
  • M-b:將光標左移一個單詞
  • C-v:向下移動一屏
  • M-v:向上移動一屏
  • C-l:將當前光標所在行移動到屏幕中央(注意:這里是字母L
  • C-a:將光標移到行首
  • C-e:將光標移到行尾
  • M-S-<:將光標移動到文件開頭
  • M-S->:將光標移動到文件末尾
  • M-m:將光標移動到行首的第一個非空白字符

查找與替換操作

  • C-s [查找的內容]:向前查找
  • C-r [查找的內容]:向后查找
  • C-M-s [查找的內容]:向前正則查找
  • C-M-r [查找的內容]:向后正則查找
  • M-S-%:查找並替換,操作步驟如下:按下M-S-%鍵啟動查找替換,輸入要被替換的詞,回車,然后輸入要替換的詞,再回車。被替換的詞此時會高亮起來,這時,輸入y替換並跳到下一個,輸入n忽略並跳到下一個,輸入q結束,輸入!替換剩下的全部。

文本選擇操作

  • C-S-e:選中從當前位置到行尾的文本
  • C-S-n:從當前位置開始往下選中一行文本
  • C-S-p:從當前位置開始往上選中一行文本
  • C-S-f:從當前位置開始往后選中一個字符
  • C-S-b:從當前位置開始往前選中一個字符
  • M-S-f:從當前位置開始往后選中一個單詞
  • M-S-b:從當前位置開始往前選中一個單詞
  • M-S-e:選中從當前位置開始到當前句尾的文本
  • M-S-a:選中從當前位置開始到當前句首的文本
  • C-S-@ [其他移動操作]:從一個起始位置,選中連續的字符,比如C-S-@ C-e就表示選中從當前光標位置到行尾的所有字符
  • C-S-v:向下選擇一屏
  • M-S-v:向上選擇一屏
  • C-S-l:讓當前光標所在行居中
  • C-x h:全選

文本編輯操作

  • 插入文本:只要光標在當前緩沖區,就可以直接輸入插入文本。
  • C-k:刪除光標到行尾的所有字符
  • C-u [N] [操作序列]:重復執行一個操作序列N次
  • C-/C-x u:撤銷(undo)上次操作,多次按可以撤銷之前的多次操作
  • C-g C-/:重做(redo),用於重做上次的撤銷動作(撤銷之后后悔了,想恢復重做)
  • <Backspace>:刪除當前光標前的一個字符
  • C-<Backspace>:刪除當前光標前的一個單詞
  • C-d<Delete>:刪除當前光標后的一個字符
  • M-<Backspace>:剪切當前光標前的一個字符到剪貼板
  • M-d:剪切當前光標后的一個字符到剪貼板
  • C-k:剪切從光標到行尾的字符到剪貼板
  • C-y:粘貼剪貼板中的文本到當前光標位置
  • M-w:復制當前選中的字符
  • C-w:剪切當前選擇的字符到剪貼板
  • C-a C-k:剪切一整行到剪貼板中,其實也可以用於刪除一整行
  • C-e <RET>:在當前行下方插入一空行
  • C-x C-q:讓當前buffer在“只讀”和“讀寫”兩種編輯模式之間切換

多窗格與多窗口

首先要明確一下Emacs中窗格與窗口的概念的區別:每個窗格其實就是一個緩沖區,一個窗口中可以同時打開多個窗格,而窗口就是像Windows那樣的GUI窗口。

  • C-x 1:僅保留當前窗格,關閉其他窗格
  • C-x 2:在垂直方向打開2個窗格
  • C-x 3:在水平方向打開2個窗格
  • C-x o:在不同窗格之間切換
  • C-x 0:關閉當前窗格
  • C-x S-{:減小當前窗格的水平寬度
  • C-x S-}:縮小當前窗格的水平寬度
  • C-x S-^:增大當前窗格的垂直高度
  • C-M-v:在另一個窗格中向下滾動一屏(但光標還保留在當前窗格)
  • C-M-S-v:在另一個窗格中向上滾動一屏(但光標還保留在當前窗格)
  • M-x make-frame:打開一個新窗口
  • M-x delete-frame:關閉當前窗口
  • C-z:掛起當前的窗口(相當於最小化當前的窗口)

文本編碼

  • M-x describe-coding-system <RET>:查看當前緩沖區的編碼格式
  • C-x <RET> r <TAB>:列出當前的所有編碼
  • C-x <RET> f utf-8 <RET>:改變當前緩沖區的編碼為utf-8

命令與函數操作

  • M-x [函數名] <RET>:執行一個函數
  • M-S-! [命令] <RET>:執行一個命令行命令
  • M-x shell <RET>:在一個新窗格中、當前目錄位置打開命令行

一些常用操作

  • M-x goto-line <RET> [行號] <RET>:跳轉到某一行,將其綁定到快捷鍵C-c j
;; 快速跳到某一行 (global-set-key (kbd "C-c j") 'goto-line) 
  • M-x electric-pair-mode <RET>:打開括號配對模式

緩沖區

  • C-x C-b:在一個新窗格中列出當前所有的緩沖區
  • C-x b xxx <RET>:切換到名為xxx的緩沖區
  • C-x k xxx <RET>:關閉一個名為xxx的緩沖區(如果直接按回車,默認關閉的是當前緩沖區)
  • C-x s:一個個詢問是否保存當前每個緩沖區的內容
  • M-x kill-some-buffers <RET>:一個個詢問是否關閉當前打開的緩沖區
  • C-x <Left>:在多個緩沖區之間切換
  • C-x <Right>:在多個緩沖區之間切換

配置相關

  • C-x d S-~ <RET>:打開Emacs配置文件所在路徑
  • C-h v load-path <RET>:查看Emacs的加載路徑

幫助操作

  • C-h t:查看Emacs快速指南
  • C-h f:查看一個函數(命令)的幫助文檔
  • C-h S-?M-x [help]:查看幫助
  • C-h c [命令序列]:顯示命令序列對應的函數名
  • C-h k [命令序列]:顯示命令序列的詳細文檔(打開一個新窗格)
  • C-h a [關鍵詞]:打開一個新窗格列出所有含有此關鍵詞的命令
  • C-h i:查看信息字典文檔
  • C-h r:查看使用手冊
  • C-h m:查看當前緩沖區的major mode和minor mode及其介紹
  • C-h b:查看和當前緩沖區綁定的快捷鍵列表
  • C-h v [變量名]:查看某個變量的值
  • C-h w [函數名]:查看某個函數綁定的快捷鍵
  • C-h i m [elisp] <RET>:查看elisp文檔

命令行操作

以下操作都是在系統命令行中的操作:

  • emacs -nw -Q:在命令行中打開Emacs,-nw參數表示:no window-Q參數表示:不顯示歡迎界面。在命令行打開Emacs后,各項操作和按鍵與在GUI窗口中是一致的


作者:m2fox
鏈接:https://www.jianshu.com/p/89b689a586b3
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM