emacs基礎操作

為什么不用IDE?因為在服務器上直接寫程序,不可能用IDE,雖然現(xiàn)在的IDE有遠程同步代碼的功能和遠程調(diào)試功能,可惜,在很多大牛的手中,用IDE反而更慢,而且對IDE一旦形成依賴,對以后的編程能力也會有影響,想真正地學習編碼和稱為大牛,有些彎路必須要走的,除非是寫IDE的程序(安卓app等等,那些就沒辦法了)。

那么VIM跟EMACS兩者為什么選擇EMACS呢?公司的人全都是用VIM的,我一開始也是用VIM,用VIM寫程序也的確很快,EMACS的快捷鍵很多,經(jīng)常記不住。對于EMCAS的著迷是LISP語言,學完可以自己寫腳本同是也能提高自己水平,并不是為了在公司的人面前裝逼(才剛剛入門emacs也裝不了逼,公司大牛們的vim玩得超級6的)而且發(fā)現(xiàn)瀏覽器里面的一些操作跟EMACS很相似,換行什么的,現(xiàn)在在瀏覽器上寫東西也不需要鼠標了。EMACS的學習曲線真的就想網(wǎng)上看到的那個圖片一樣,學習EMACS有時候給你糖吃,也有時候給你挖坑,路漫漫兮。

一些關于在emacs tutorial里面講到的操作,簡易版。

  • 移動
    C+n next line
    C+p previous line
    C+f foward a character
    M+f foward a word
    C+b back a character
    M+b back a word
    C+v next page
    C+M+V 滾動副屏
    C+l 光標在中間/底部 / 頂部
    M+v previous page
    M+< 到文本頭
    M+> 到文本尾
    C+x u 或者 ctrl + /撤銷
    C+g 取消命令

  • 添加
    C+o 在光標后面添加一個空行,光標保留在原來的位置
    C+j 在光標后面添加一個空行,光標在新的一行的位置
    C+x i 把某個文件的所有內(nèi)容插入到光標之后
    C+u <number> <command>/<word> 重復number次的命令或者單詞

  • 刪除
    C+d delete光標后面的一個字母
    C+k kill 光標后面到句末的所有字符
    M+d delete光標后面的一個單詞
    M+k kill光標后面的一個句子(到句號為一句話)
    C+y 從kill的緩沖區(qū)的棧頂粘貼
    M+y 切換kill緩沖區(qū)的棧頂?shù)膬?nèi)容(一個循環(huán))

  • 文件
    C+c ctrl+f打開新文件
    C+c b 打開在buffer的文件
    C+c C+b 查看buffer
    C+x C+f <filename> 新建一個文件
    C+x 4 C+f 在新的窗口打開文件

  • 緩沖區(qū)
    C+x b 在當前的窗口打開一個在buffer的文件
    C+x C+b 在新的窗口查看buffer的內(nèi)容,在buffer列表里面,可以直接用n p 來做換行而不需要用C+n 和 C+p,在buffer列表里面,按o在上面的窗口打開文件,按<return>在當前的buffer列表窗口打開文件
    C+x k 關閉當前文件,從buffer區(qū)刪去

  • 查找
    C+s 向下查找
    C+r 向上查找
    M+c 切換對大小寫是否敏感
    M+e 重新編輯要查找的內(nèi)容
    M+x occur 使用正則表達式搜索,并新建一個窗口(buffer)顯示
    M-x rgrep 快速的遞歸文本檢索(recursive grep search)
    M+x grep 在當前目錄中查找制定的regrep

  • 窗口
按鍵 命令 作用
C-x 2 split-window-vertically 垂直拆分窗口
C-x 3 split-window-horizontally 水平拆分窗口
C-x o other-window 選擇下一個窗口
C-M-v scroll-other-window 滾動下一個窗口
C-x 4 b switch-to-buffer-other-window 在另一個窗口打開緩沖
C-x 4 C-o display-buffer 在另一個窗口打開緩沖,但不選中
C-x 4 f find-file-other-window 在另一個窗口打開文件
C-x 4 d dired-other-window 在另一個窗口打開文件夾
C-x 4 m mail-other-window 在另一個窗口寫郵件
C-x 4 r find-file-read-only-other-window 在另一個窗口以只讀方式打開文件
C-x 0 delete-window 關閉當前窗口
C-x 1 delete-other-windows 關閉其它窗口
C-x 4 0 kill-buffer-and-window 關閉當前窗口和緩沖
C-x ^ enlarge-window 增高當前窗口
C-x { shrink-window-horizontally 將當前窗口變窄
C-x } enlarge-window-horizontally 將當前窗口變寬
C-x - shrink-window-if-larger-than-buffer 如果窗口比緩沖大就縮小
C-x + balance-windows 所有窗口一樣高
  • 幫助
    C+h t 打開emacs simple tutorial
    C+h ? 提示C-h為前綴的所有指令的發(fā)用(可以用M-x help <Return>來獲取幫助)
    C+<character> ?提示C-<character>指令為前綴的所有用法
    C+h c <command> 查找你需要的快捷鍵的幫助
    C+h k <command> 打開某個命令的幫助文件
    C+h f 返回關于某個指令的信息
  • 折疊
    M-1 C-x $ 折疊所有
    C-x $ 展開所有

  • 文本塊操作
    C+w刪除并復制文本塊
    M+w復制文本塊
    C+x SPACE 進入set-mark模式,可以選擇區(qū)域塊
    C+x SPACE 切換set-mark模式,不同的是選擇的區(qū)域塊是矩形的
    C+x r t 用字符串替換選中的區(qū)域
    C+x r d 刪除區(qū)域(不留空格)
    C+x r C 刪除區(qū)域(在原來的位置保留為空)
    C+x r k 復制并刪除區(qū)域(可以用C+w / M+w)
    C+x r y 粘貼用C+x r k 刪除的區(qū)域塊
    C+x r o 在這塊區(qū)域插入空白的方格(選擇的區(qū)域有多大就在前面補多少個空格)
    C+x r r 將選定的矩形區(qū)域復制到某個寄存器,在輸入這組鍵后命令欄會等待你輸入寄存器號,這時隨便輸入一個數(shù)字即可,不過的記得它,因為待會兒粘貼的時候還得用到這個寄存器號(相當于放在一個緩存里面,可以隨時用來復制粘貼而已)
    C-x r i 插入寄存器的內(nèi)容,輸入此鍵后再輸入寄存器號可將寄存器中的內(nèi)容插入到當前區(qū)域。

  • 一些比較常用的指令
    M+x rgrep 遞歸搜索,搜索包含某個字符串文件,非常常用,找不到相應文件的時候就能用到
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容