Emacs的門檻低涯肩,入門容易,但要熟練使用卻很難芭概。雖然在用,但總是沒系統(tǒng)沒計(jì)劃盼理,所以用了幾年還總是原地踏步谈山。要熟練Emacs應(yīng)該沒那么難俄删,主要就是忘掉老習(xí)慣培養(yǎng)新習(xí)慣宏怔,所以決定每月從Emacs的manual中翻譯出一些,慢慢養(yǎng)成Emacs的鍵盤習(xí)慣畴椰。
第一個(gè)月內(nèi)容多些臊诊,但很多都已經(jīng)在用了,再系統(tǒng)的整理一下并深入點(diǎn)了解斜脂,應(yīng)該對(duì)提高工作效率有好處抓艳。
一、光標(biāo)移動(dòng)
C類命令
用于以字符帚戳、行玷或、列等物理單位度量的光標(biāo)移動(dòng)
- C-f:向右(前儡首,forward)移動(dòng)一字符
- C-b:向左(后,backward)移動(dòng)一字符
- C-p:移動(dòng)到上一行(previous)
- C-n:移動(dòng)到下一行(next)
- C-a:到行首
- C-e:到行尾
M類命令
用于以詞偏友、句蔬胯、段落等文本單位度量的光標(biāo)移動(dòng)
- M-f:向前(forward)移動(dòng)一詞
- M-b:向后(backward)移動(dòng)一詞
- M-a:到句首
- M-e:到句尾
- M-{:到上一段落 (注意大括號(hào)符號(hào)要用SHIFT鍵)
- M-}:到下一段落
其他命令
- M-r:循環(huán)使用可以把光標(biāo)依次放在窗口中間、最上面和最下面一行的左邊位他;窗口內(nèi)文本不動(dòng)氛濒。
- M-<:卷屏到文檔開頭 (注意要用SHIFT鍵)
- M->:卷屏到文檔最后
- C-v:相當(dāng)于PAGEDOWN,向下翻一屏鹅髓,但與前一屏的內(nèi)容留兩行
- M-v:相當(dāng)于PAGEUP舞竿,向上翻一屏,但與前一屏的內(nèi)容留兩行
- M-x-goto-char n:光標(biāo)定位到字符n的位置窿冯,n是從文檔開始算起的字符數(shù)
- M-g M-g n:光標(biāo)定位到第n行
二骗奖、刪除、撤銷(恢復(fù))和重復(fù)操作
字符醒串、詞和行刪除
- C-d:刪除光標(biāo)后一個(gè)字符重归,相當(dāng)于DELETE鍵
- C-k:刪除光標(biāo)到行尾的字符(不包括換行符);如果光標(biāo)位于行尾則只刪除換行符
- M-d:刪除從光標(biāo)到下一個(gè)詞的開始間的字符(刪除詞)
- M-DEL:刪除從光標(biāo)到上一個(gè)詞結(jié)束間的字符
空格和空行刪除
- M-\:刪除光標(biāo)前后所有空格和制表符
- M-SPC:刪除光標(biāo)前后空格和制表符到僅剩一個(gè)
- C-x C-o:刪除光標(biāo)前后的空行到僅余1行
- M-^:刪除行縮進(jìn)厦凤、連接兩行文本(從后向前合并)
撤銷操作
- C-/:撤銷前一個(gè)命令的操作鼻吮,不能撤銷僅有光標(biāo)移動(dòng)的動(dòng)作(或者用C-x C-u)
重復(fù)操作
- C-x z:該命令簡(jiǎn)單重復(fù)前面一次操作(不管是鼠標(biāo)點(diǎn)擊還是鍵盤輸入),連續(xù)幾個(gè)z就重復(fù)幾次较鼓,直到輸入的不是z或者鼠標(biāo)點(diǎn)擊或者C-g取消
- C-u n:重復(fù)隨后的命令n次
三椎木、文本塊標(biāo)記(選擇)
任意位置間標(biāo)記
- C-@:在光標(biāo)處設(shè)置標(biāo)記,光標(biāo)位置不動(dòng)博烂。
- M-@:在光標(biāo)處設(shè)置標(biāo)記香椎,光標(biāo)位置不動(dòng),光標(biāo)后的一個(gè)詞被加亮
- C-x C-x:在光標(biāo)處設(shè)置標(biāo)記禽篱,并把光標(biāo)移到上一次設(shè)置標(biāo)記的位置畜伐,兩個(gè)標(biāo)記之間的文本被選擇。(可連續(xù)使用在標(biāo)記文本的前后切換光標(biāo))
選擇和標(biāo)記一行或多行:
C-A, C-E, C-N 或 C-P:在當(dāng)前位置設(shè)置標(biāo)記點(diǎn)躺率,光標(biāo)移動(dòng)和C-a, C-e, C-n 或 C-p相同玛界,加亮標(biāo)記點(diǎn)和光標(biāo)之間的文本。搜狗輸入法會(huì)攔截C-N命令悼吱,在輸入法設(shè)置中去掉即可慎框。
整塊標(biāo)記:
- M-h:選擇光標(biāo)所在段落(段落間一般以空行間隔),光標(biāo)移到段首后添,標(biāo)記點(diǎn)在段末笨枯。
- C-x C-p:選擇當(dāng)前頁面(屏),光標(biāo)移到屏首,標(biāo)記點(diǎn)在屏尾馅精。
- C-x h:選擇整個(gè)文檔(buffer)严嗜,光標(biāo)移到文檔起始點(diǎn),標(biāo)記點(diǎn)在文檔最后洲敢。
使用體會(huì):(1)標(biāo)記和選擇在Emacs被合并成了一個(gè)概念阻问,而顏色加亮倒成了一種表面形式:不管有沒有顏色加亮,標(biāo)記點(diǎn)和光標(biāo)之間的內(nèi)容都已經(jīng)被選擇沦疾;(2)多用称近、善用 C-x C-x 命令
四、拷貝哮塞、剪切和粘貼/召回
- C-w:剪切(還不習(xí)慣Emacs的kill概念)
- M-w:復(fù)制刨秆。如果你開著QQ,復(fù)制的鍵盤命令就變成了M-W
- C-y:粘貼忆畅。Yanking衡未,像招魂一樣,有意思家凯。
使用體會(huì):在其他軟件中缓醋,一般被選擇(顏色加亮)的內(nèi)容才稱為塊,才能進(jìn)行拷貝和剪切绊诲。但Emacs只要設(shè)置了標(biāo)記點(diǎn)送粱,就可以對(duì)光標(biāo)和標(biāo)記點(diǎn)間的內(nèi)容進(jìn)行復(fù)制、剪切等操作掂之;如果是復(fù)制操作抗俄,Emacs會(huì)在光標(biāo)所在位置和標(biāo)記點(diǎn)之間切換一下光標(biāo),可以讓用戶進(jìn)行確認(rèn)世舰。
五动雹、搜索與替換
相關(guān)命令很多,但如果嫌麻煩跟压,記住兩個(gè)即可:
- M-%:即M-S-5胰蝠,詢問替換
- C-M-%:正則表達(dá)式詢問替換
- 以上兩個(gè)命令回車后按提示分別輸入搜索和替換字符串,替換用空格鍵震蒋,如果不替換(僅搜索)用n(下一個(gè))或p(上一個(gè))茸塞。
其他搜索和替換命令:
- C-s:向前搜索(增量,輸入即開始搜索)
- C-r:向后搜索(增量喷好,…)
- M-x search-forward:向前搜索
- M-x search-backward:向后搜索
- M-x search-forward-regexp:向前正則表達(dá)式搜索
- M-x search-backward-regexp:向后正則表達(dá)式搜索
- M-x replace-string:替換
- M-x replace-regexp:正則表達(dá)式替換