世界上最強大的編輯器Emacs 基本命令


 這個世界最強是個怎麼樣的強法呢?一說:Emacs是一種“信仰”。另說:世界上的程序員分三種,一種使用Emacs,一種使用vim,剩餘的是其它。(完全無視其他編輯器的存在……)
  1. 基本命令:
    C-x C-c : 退出Emacs
    C-x C-f : 打開一個文件,如果文件不存在,則創建一個文件
    C-x d 進入Dired列表模式
    C-x C-d 獲取文件列表(簡潔)
    C-x C-f 打開文件,輸入路徑爲打開目錄
    C-g : 取消未完成的命令
  2. 編輯:
    C-x u :取消上一次操作,如果取消N次操作: C-u N C-_
    C-x i : 插入文件內容
    C-t : 交換兩個字符
    M-t : 交換兩個詞
    C-x C-t : 交換兩行
    C-x C-u : 轉換成大寫字母
    C-x C-l : 轉換成小寫字母
    M-c :把光標右邊的單詞的首字母轉換爲大寫,如果光標在一個單詞內,則把光標所在字母轉換爲大寫
    M-u :把光標右邊的單詞轉換爲大寫,如果光標在一個單詞內,則把這個單詞右邊的部分轉換爲大寫
    M-l : 轉換成小寫字母
    C-c C-a : 開啓/關閉自動縮進模式,如同 M-x c-toggle-auto-state
  3. 移動光標:
    C-v : 向前翻頁
    M-v : 向後翻頁
    M-r : 將光標移動到屏幕中間那行
    C-a : 移到行首
    C-e : 移到行尾
    M-a : 移到句首
    M-e : 移到句尾
    M-{ : 向上移動一段
    M-} : 向下移動一段
    M-< : 移到整個文本開頭
    M-> : 移到整個文本末尾
    C-p : 向上移動一行,p 代表 previous
    C-n : 向下移動一行,n 代表 next
    C-f : 向前移動一個字,f 則代表 forward
    C-b : 向後移動一個字,b代表 backward
    C-u 數字 命令 : 執行多次(數字表示次數)該命令
    C-l : 重繪屏幕,效果就是當前編輯行移動窗口中央,刷新
    C-M-/ : 用c-x h 選定整個buffer後, 然後可以對代碼進行重新排版
    M-; 對當前行進行註釋
    C-x C-x :快速返回移動前的光標位置
    C-c C-c :對一塊代碼進行註釋;
    uncomment-region :取消註釋用命令
  4. Buffer 相關
    C-x h : 選中整個緩衝區的內容,您會發現狀態欄和編輯器底部之間的區域出現 Mark set 字樣
    C-x k : 關閉當前buffer
    C-x b : 切換到前一個編輯的buff
    C-x C-b : 列出當前所有buffer
    C-x C-s : 保存當前buffer
    C-x s : 保存所有未保存的buffer,會提示你是否需要保存
    C-x C-w : 文件另存爲
    C-mouse:按住Ctrl並單擊鼠標左鍵,會彈出一個Buffer Menu,它會按主模式類型列出活動的buffer供你選擇。
    M-x kill-some-buffers:刪除一些buffer;
  5. 拷貝與粘貼
    C-@ : 設置mark ,或使用 M-x set-mark-command
    C-w : 剪切一塊區域;如果沒有設置mark,則是剪切一行
    M-w : 拷貝一塊區域;如果沒有設置mark, 則是拷貝一行
    M-d : 刪除光標後的詞語
    C-d : 刪除一個字符
    C-k : 從當前位置剪切到行尾
    C-y : 粘貼
    M-y : 用C-y拉回最近被除去的文本後,換成 M-y可以拉回以前被除去的文本。鍵入多次的M-y可以拉回更早以前被除去的文本。
    C-x r k : 執行矩形區域的剪切
    C-x r y : 執行矩形區域的粘貼
    C-x h : 全部選中
    C-o : 在光標後面插入空行
    C-x C-o : 將光標附近的空行去掉,多行的時候,第一次只剩一行,第二次全部刪除
  6. 窗口操作
    C-x 0 : 關閉當前窗口
    C-x 1 : 將當前窗口最大化
    C-x 2 : 垂直分割窗口
    C-x 3 : 水平分割窗口
    C-x < : 窗口內容右卷
    C-x > : 窗口內容左卷(這兩個命令在垂直分割窗口後比較有用)
    (C-u) C-x ^ : 加高當前窗口,如果有C-u,則每次加高4行
    (C-u) C-x } : 加寬當前窗口
    (C-u) C-x { : 壓窄當前窗口
    ESC C-v : 在其它窗口進行卷屏操作
    C-M-v:滾動另一個window(C-v是滾動當前window)
    C-x 4 b(f):在另一個窗口選擇另一個buffer(查找另一個文件),這樣你可以不用切換到另一個window,就改變其buffer或打開文件;
    C-x 5 2:新建一個frame;
  7. 搜索和替換
    C-s : 向前搜索(增量式搜索);連續C-s,跳到下一個搜索到的目標
    C-s RET : 普通搜索
    C-r : 向前搜索
    C-s RET C-w : 按單詞查詢
    M-% : 查詢替換,也就是替換前會詢問一下
    M-x replace-string : 普通替換
  8. 命令行執行命令
    由於Emacs太過強大,內部命令恆河沙數,根本不可能有同樣數量的快捷鍵位來綁定它們!對於沒有綁定的命令,可以使用 命令行 執行!
    M-x (Alt+x) 開啓命令行,回顯區顯示爲 M-x
    M-x goto-line : 移動到某一行
    M-x replace-string : 普通替換
    M-x replace-regexp : 正則表達式替換
    M-x undo : 撤消
    C-g M-x undo : 重做
    M-x query-replace : 詢問替換 等同於C-%
    M-x calendar : 打開日曆,q退出.C-u,M-x calendar 打開指定的年,月,日
    C-f :讓當前日期向前一天
    C-b:讓當前日期向後一天
    C-n:讓當前日期向前一週
    C-p:讓當前日期向後一週
    M-}:讓當前日期向前一個月
    M-{:讓當前日期向後一個月
    C-x ]:讓當前日期向前一年
    C-x [:讓當前日期向後一年 C-a:移動到當前周的第一天
    C-e:移動到當前周的最後一天
    M-a:移動到當前月的第一天
    M-e:多動到當前月的最後一天
    M-<:移動到當前年的第一天
    M->:移動到當前年的最後一天
  9. ctrl+c-v-j, ctrl+c-v-z, ctrl+c-v-c, ctrl+c-v-.  ,  ctrl+c-v-r, ctrl+j
  10. Alt+/ 會自動補全80%的機率以上都會找到你想要的,如果不是多按幾次選擇一下
發佈了43 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章