Emacs,最強(qiáng)編輯器,沒有之一

Emacs的Logo

作者 謝恩銘,公眾號(hào)「程序員聯(lián)盟」(微信號(hào):coderhub)。
轉(zhuǎn)載請(qǐng)注明出處。
原文:http://www.itdecent.cn/p/732157b02ecc

Emacs,最強(qiáng)編輯器,沒有之一


小編知道,此標(biāo)題一出,肯定會(huì)遭受廣大群眾“詬病”,說不好還會(huì)被其他編輯器的粉絲暗地里“干掉”。

比如,Vim,Sublime,Nano編輯器的粉絲可能就會(huì)來“踢館”,VS或Eclipse的粉絲也興許會(huì)“群起而攻”,但是小編只是表達(dá)一下自己的感受,為了效果也只能夸大一下了。
所以請(qǐng)拍磚的時(shí)候輕一點(diǎn),雞蛋少扔幾個(gè)。如果扔的雞蛋多也請(qǐng)多扔幾個(gè)番茄過來,再來幾根蔥,這樣我可以做番茄炒蛋,謝謝。

有種張無忌在光明頂被6大門派“圍剿”的架勢(shì)...

對(duì)于很多人來說,使用Vim和Emacs,不僅是提升“逼格”的方式,更是上升到“信仰”的層面,夸張吧。當(dāng)然這和宗教信仰不一樣,只是一種可愛的“偏執(zhí)”而已。

請(qǐng)參看我的 Linux探索之旅 | 第五部分第一課:Vim豈是池中物,寶劍鋒從磨礪出。

不過,Emacs實(shí)在能做很多事,不要認(rèn)為它只是一個(gè)文本編輯器,它可以說是一個(gè)整合環(huán)境,或可稱它為“集成開發(fā)環(huán)境”,它還可以做以下事情:

  • 上網(wǎng),瀏覽網(wǎng)頁(yè)
  • 看視頻
  • 收發(fā)郵件
  • 調(diào)試程序,結(jié)合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等
  • 玩游戲
  • 計(jì)算器
  • 記日記
  • 管理日程,Task,ToDo,約會(huì)等
  • 個(gè)人信息管理
  • 目錄管理
  • 文件比較
  • 閱讀info和man文檔
  • 等等

當(dāng)然了,這里主要將Emacs作為文本編輯器來介紹。
如果你要做特定開發(fā),那還是用業(yè)界知名的IDE(集成開發(fā)環(huán)境)更加有效率。
例如開發(fā)Android應(yīng)用,那必須得上Android Studio(你不要跟我說你還在用Google已經(jīng)不發(fā)布支持更新的Eclipse);開發(fā)iOS應(yīng)用,必須得上Xcode。
如果你用Emacs來開發(fā)這些應(yīng)用,那效率太低了。

小編以前在Linux下編寫代碼是使用Vim編輯器的,也極為強(qiáng)大。但是自從2014年接觸到Emacs之后,就愛上了Emacs(fall in love with Emacs),Vim雖然有時(shí)還會(huì)用到(目前的公司的開發(fā)組大家基本都是用Vim,我也沒辦法只好用Vim,以方便和大家交流、演示),但其實(shí)我還是比較喜歡Emacs。

一開始我不知道為什么Emacs如此優(yōu)美又強(qiáng)大,直到后來閱讀了《黑客與畫家》這部經(jīng)典著作(硅谷創(chuàng)業(yè)教父 Paul Graham 保羅?格雷厄姆所寫,其實(shí)也就是他的一些日志匯編而成),里面講述了Lisp語(yǔ)言的強(qiáng)大和優(yōu)美,而Emacs就是用Lisp語(yǔ)言編寫的,怪不得。

閑扯一下為什么Lisp語(yǔ)言如此強(qiáng)大,雖然這門語(yǔ)言很老了(1958年被發(fā)明),在2015年6月的TIOBE編程語(yǔ)言排行榜也只有第31位,但是:

摘錄自 阮一峰 翻譯的《黑客與畫家》一書,推薦大家一讀


如果我們把流行的編程語(yǔ)言,以這樣的順序排列:Java、Perl、Python、Ruby。你會(huì)發(fā)現(xiàn),排在越后面的語(yǔ)言,越像Lisp。

Python模仿Lisp,甚至把許多Lisp黑客認(rèn)為屬于設(shè)計(jì)錯(cuò)誤的功能,也一起模仿了。至于Ruby,如果回到1975年,你聲稱它是一種Lisp方言,沒有人會(huì)反對(duì)。

編程語(yǔ)言現(xiàn)在的發(fā)展,不過剛剛趕上1958年Lisp語(yǔ)言的水平。

1958年,John McCarthy設(shè)計(jì)了Lisp語(yǔ)言。我認(rèn)為,當(dāng)前最新潮的編程語(yǔ)言,只是實(shí)現(xiàn)了他在1958年的設(shè)想而已。

這怎么可能呢?計(jì)算機(jī)技術(shù)的發(fā)展,不是日新月異嗎?

1958年的技術(shù),怎么可能超過今天的水平呢? 讓我告訴你原因。 這是因?yàn)镴ohn McCarthy本來沒打算把Lisp設(shè)計(jì)成編程語(yǔ)言,至少不是我們現(xiàn)在意義上的編程語(yǔ)言。他的原意只是想做一種理論演算,用更簡(jiǎn)潔的方式定義圖靈機(jī)。

所以,為什么上個(gè)世紀(jì)50年代的編程語(yǔ)言,到現(xiàn)在還沒有過時(shí)?簡(jiǎn)單說,因?yàn)檫@種語(yǔ)言本質(zhì)上不是一種技術(shù),而是數(shù)學(xué)。數(shù)學(xué)是不會(huì)過時(shí)的。

你不應(yīng)該把Lisp語(yǔ)言與50年代的硬件聯(lián)系在一起,而是應(yīng)該把它與快速排序(Quicksort)算法進(jìn)行類比。這種算法是1960年提出的,至今仍然是最快的通用排序方法。

直到今天,最高級(jí)的主流語(yǔ)言,也只是剛剛接近Lisp的水平。雖然已經(jīng)很接近了,但還是沒有Lisp那樣強(qiáng)大。

Lisp語(yǔ)言誕生的時(shí)候,就包含了9種新思想。其中一些我們今天已經(jīng)習(xí)以為常,另一些則剛剛在其他高級(jí)語(yǔ)言中出現(xiàn),至今還有2種是Lisp獨(dú)有的。

按照被大眾接受的程度,這9種思想依次是:

  1. 條件結(jié)構(gòu)(即"if-then-else"結(jié)構(gòu))?,F(xiàn)在大家都覺得這是理所當(dāng)然的,但是Fortran I就沒有這個(gè)結(jié)構(gòu),它只有基于底層機(jī)器指令的goto結(jié)構(gòu)。

  2. 函數(shù)也是一種數(shù)據(jù)類型。在Lisp語(yǔ)言中,函數(shù)與整數(shù)或字符串一樣,也屬于數(shù)據(jù)類型的一種。它有自己的字面表示形式(literal representation),能夠儲(chǔ)存在變量中,也能當(dāng)作參數(shù)傳遞。一種數(shù)據(jù)類型應(yīng)該有的功能,它都有。

  3. 遞歸。Lisp是第一種支持遞歸函數(shù)的高級(jí)語(yǔ)言。

  4. 變量的動(dòng)態(tài)類型。在Lisp語(yǔ)言中,所有變量實(shí)際上都是指針,所指向的值有類型之分,而變量本身沒有。復(fù)制變量就相當(dāng)于復(fù)制指針,而不是復(fù)制它們指向的數(shù)據(jù)。

  5. 垃圾回收機(jī)制。

  6. 程序由表達(dá)式(expression)組成。Lisp程序是一些表達(dá)式區(qū)塊的集合,每個(gè)表達(dá)式都返回一個(gè)值。這與Fortran和大多數(shù)后來的語(yǔ)言都截然不同,它們的程序由表達(dá)式和語(yǔ)句(statement)組成。

  7. 符號(hào)(symbol)類型。符號(hào)實(shí)際上是一種指針,指向儲(chǔ)存在哈希表中的字符串。所以,比較兩個(gè)符號(hào)是否相等,只要看它們的指針是否一樣就行了,不用逐個(gè)字符地比較。

  8. 代碼使用符號(hào)和常量組成的樹形表示法(notation)

  9. 無論什么時(shí)候,整個(gè)語(yǔ)言都是可用的。Lisp并不真正區(qū)分讀取期、編譯期和運(yùn)行期。你可以在讀取期編譯或運(yùn)行代碼;也可以在編譯期讀取或運(yùn)行代碼;還可以在運(yùn)行期讀取或者編譯代碼。


怎么樣,是不是很有興趣了解一下如此強(qiáng)大的Lisp語(yǔ)言開發(fā)出來的Emacs是如何優(yōu)美呢?

當(dāng)然此文不可能帶大家領(lǐng)略所有Emacs的優(yōu)美之處。說實(shí)話,Emacs肯定存在不足之處: 小編還是很“識(shí)相”的,不敢“冒天下之大不韙”。

更多Emacs的好處只有大家使用了才能慢慢領(lǐng)略。

Emacs簡(jiǎn)介


Emacs是一種強(qiáng)大的文本編輯器,在程序員和其他以技術(shù)工作為主的計(jì)算機(jī)用戶中廣受歡迎。

EMACS,即Editor MACroS(編輯器宏)的縮寫,最初由Richard Stallman(理查德·斯托曼)于1975年在MIT(麻省理工學(xué)院)協(xié)同Guy Steele共同完成。

Richard Stallman可是開源運(yùn)動(dòng)之父啊,我的Linux探索之旅 | 開宗明義+第一部分第一課:什么是Linux?這一課專門介紹過他。

這位可愛的長(zhǎng)胡子大叔抵制Apple,抵制Facebook,抵制Amazon,抵制不少公司和機(jī)構(gòu)。他也是自由軟件基金會(huì)(Free Software Foundation,簡(jiǎn)稱FSF)的主席,而自由軟件基金會(huì)主導(dǎo)了包括GNU在內(nèi)的很多開源工程。

GNU工程使得世界各地的程序員可以為L(zhǎng)inux操作系統(tǒng)開發(fā)周邊軟件等,才有了Linux的今天。不然Linus Tovarlds(Linux之父)基本上光是寫了一個(gè)Linux內(nèi)核,哪夠啊。所以今天的Linux最正確的稱謂應(yīng)該是GNU/Linux 。

自誕生以來,Emacs演化出了眾多分支,其中使用最廣泛的兩種分別是:1984年由Richard Stallman發(fā)起并由他維護(hù)至今的GNU Emacs,以及1991年發(fā)起的XEmacs。XEmacs是GNU Emacs的分支,至今仍保持著相當(dāng)?shù)募嫒菪?。它們都使用了Emacs Lisp這種有著極強(qiáng)擴(kuò)展性的編程語(yǔ)言,從而實(shí)現(xiàn)了包括編程、編譯乃至網(wǎng)絡(luò)瀏覽等等功能的擴(kuò)展。

你可以使用Lisp語(yǔ)言改寫Emacs的功能組件,而且可以更改配置,完全自定義Emacs,所以Emacs是充滿無限可能的編輯器。

國(guó)際化


Emacs支持對(duì)多種文字的文本編輯,包括UTF-8在內(nèi)的諸多編碼系統(tǒng),加上對(duì)多種字符集、文稿、書寫系統(tǒng),以及不同文化的書寫習(xí)慣都提供了支持,使得世界上大多數(shù)語(yǔ)言的使用者都能通過Emacs進(jìn)行文本處理。

Emacs還能通過調(diào)用諸如ispell這樣的外部程序,實(shí)現(xiàn)多種語(yǔ)言的拼寫檢查。

跨平臺(tái)性


Emacs是目前世界上最具可移植性的重要軟件之一,能夠在當(dāng)前大多數(shù)操作系統(tǒng)上運(yùn)行,包括類Unix系統(tǒng)(GNU/Linux、各種BSD、Solaris、AIX、IRIX、Mac OS X等等)、MS-DOS、Microsoft Windows以及OpenVMS等,還有移動(dòng)Android平臺(tái)以及iOS。

緩沖區(qū)的概念


初學(xué)Emacs需要理解什么是 緩沖區(qū)

Emacs里的一切操作都發(fā)生在編輯緩沖區(qū)(buffer)里,它通常是某個(gè)文件的工作副本。如果你正在編輯的編輯緩沖區(qū)里包含著某個(gè)文件的一個(gè)副本,那么當(dāng)你保存自己所做的改動(dòng)時(shí),Emacs把編輯緩沖區(qū)的內(nèi)容復(fù)制到文件中。

除了工作在文件副本上的緩沖區(qū)外,還有一些做臨時(shí)工作的緩沖區(qū),它就像一張草稿紙,當(dāng)然也可以隨時(shí)使用write-file命令("C-x C-w")或save-buffer命令(“C-x C-s”)保存這類臨時(shí)工作緩沖區(qū)的內(nèi)容。

小編一開始也是對(duì)緩沖區(qū)的概念一知半解,不要怕,用著用著馬上就理解了。

可以參考一些高手的Emacs教程和“練級(jí)”系列


http://www.cnblogs.com/robertzml/archive/2009/09/10/1564108.html
http://blog.csdn.net/redguardtoo/article/details/7222501/
http://blog.sina.com.cn/s/blog_6df127760101ll7a.html
http://arch.pconline.com.cn//pcedu/soft/gj/photo/0609/865628_1.html

Emacs的官網(wǎng)和Wiki


http://www.gnu.org/software/emacs/

目前最新版是Emacs 25.1

Emacs的中文WiKi
http://www.emacswiki.org/emacs?interface=zh-cn

輕松一下,關(guān)于Emacs的一則玩笑


《Emacs 的日子是這個(gè)樣子的》:

  1. 聽說有 Emacs 這個(gè)東西。試了一下,感覺就像記事本一樣。沒什么學(xué)習(xí)曲線。就是……咋也找不到退出的辦法……
  2. 開始會(huì)一些 Emacs 了,開始學(xué)習(xí)各種 mode,按鍵綁定,配置方法,開始熟悉 Emacs……
  3. 比較熟悉 Emacs了,基本使用 Emacs干活,每天“活在” Emacs 里面……
  4. 非常熟悉自己“常用”的 Emacs,可以教別人 Emacs,大量泡 Emacs社區(qū),大量下載、使用和跟蹤別人的擴(kuò)展,已經(jīng)離不了 Emacs……
  5. 漸漸不滿 Emacs,漸漸熟悉 Lisp 語(yǔ)言,開始改寫“自己”的Emacs,在這期間,又開始四處碰壁,工作效率總是被一個(gè)失敗的修改所影響……
  6. 經(jīng)常修改 Emacs,自己手中的 Emacs基本上每周都和上一周有那么一點(diǎn)不太一樣…… 就是,改的太多了,經(jīng)常在某天整理代碼的時(shí)候突然發(fā)現(xiàn)……原來還有這么個(gè)易用的功能…… 忘記好久了……
  7. …… ……

Emacs三個(gè)平臺(tái)的安裝與配置


1. Windows下安裝Emacs

請(qǐng)到以下鏈接下載Windows版的Emacs:

https://ftp.gnu.org/gnu/emacs/windows/

請(qǐng)大家下載列表中最新版本的zip文件,比如目前最新版的是2016年9月18日發(fā)布的25.1版:

emacs-25.1-x86_64-w64-mingw32.zip

下載后,用Winrar或7-zip等解壓,會(huì)出來一個(gè)文件夾 emacs-25.1-x86_64-w64-mingw32

內(nèi)含四個(gè)子文件夾:

  • bin
  • libexec
  • share
  • var

打開bin文件夾,運(yùn)行其中的 emacs.exe 文件即可開啟Emacs,不需要安裝:

你可以把emacs.exe這個(gè)文件鎖定到任務(wù)欄,就很方便了,按一下圖標(biāo)就啟動(dòng)了。

2. Linux下安裝Emacs


Debian一族(包括Ubuntu)下安裝Emacs:

sudo apt-get install emacs

Redhat一族(包括Fedora)下安裝Emacs:

sudo yum install emacs

其他的可以搜索如何安裝,或者下載Emacs的源代碼來編譯安裝。

下面演示Linux如何下載Emacs的代碼來編譯安裝(“逼格”最高的方式):

  • 首先去

ftp://ftp.gnu.org/pub/gnu/emacs

  • 上面有Emacs的幾乎所有版本的源代碼包,下載最新版的(用老版的也可以),如: emacs-25.1.tar.gz

  • 解壓 emacs-25.1.tar.gz 并編譯,安裝,在終端(Terminal)中依次運(yùn)行以下命令(如果是其他版本,則將如下命令中的25.1替換為相應(yīng)版本即可):

tar -zxvf emacs-25.1.tar.gz   #(解壓文件)
cd emacs-25.1                 #(進(jìn)入目錄)
./configure                   #(配置)
make                          #(編譯)
sudo make install             #(安裝,會(huì)提示輸入你的用戶密碼)
  • 安裝完之后要啟動(dòng)Emacs很簡(jiǎn)單,開一個(gè)終端(Terminal),輸入emacs,回車,就可以了。

不過小編嫌這樣太麻煩,可以用更簡(jiǎn)單的方式來打開Emacs,我這里用一個(gè)鍵就可以了(演示環(huán)境是Fedora,不過其他系統(tǒng)如Ubuntu類似):

  • 打開Fedora的“設(shè)置” (肯定知道設(shè)置在哪里吧)

  • 選擇“鍵盤”

  • 選擇列表中的“自定義快捷方式”,然后點(diǎn)擊加號(hào)“+”,用于添加新的快捷方式

  • 選擇快捷方式的按鍵,小編這里選的是F2這個(gè)鍵,然后填寫命令,就是“emacs”,再填寫快捷方式的名稱,這個(gè)隨便填,我填的是“Emacs”,確定。

按F2鍵試試,是不是就啟動(dòng)Emacs啦?這酸爽,不言而喻!

3. Mac OS下安裝Emacs


Mac下安裝Emacs,網(wǎng)上有不少文章,有用Git克隆下來Emacs的源碼然后編譯安裝的; 也有用一些包管理軟件來安裝的,但是小編推薦一個(gè)更方便的方式,和Mac下安裝QQ,迅雷那樣方便:

http://emacsformacosx.com/

上這個(gè)網(wǎng),然后下載那個(gè)dmg包,Mac用戶肯定懂的,就是Mac下安裝軟件的最常用方式。然后就沒有然后了... 如果這樣你都不會(huì)裝Emacs,那真心沒必要用Emacs了。

自動(dòng)補(bǔ)全插件


安裝完Emacs之后,還需要安裝一個(gè)自動(dòng)補(bǔ)全(可以自動(dòng)補(bǔ)全關(guān)鍵字,文本等)的擴(kuò)展,非常強(qiáng)大,名叫company-mode,官網(wǎng):

http://company-mode.github.io/

幸好,這個(gè)擴(kuò)展并不需要我們按照傳統(tǒng)的方式從官網(wǎng)下載、安裝到Emacs里面,因?yàn)镋macs里有個(gè)安裝擴(kuò)展的列表,有點(diǎn)類似 Debian系列的 apt-get 和 Redhat系列的yum 這樣的包管理工具,所以我們只需要按步驟安裝:

  • 按下 M-x 來調(diào)出命令輸入 (在Windows下就是Alt + x 鍵)

  • 輸入 list-packages,回車

  • 在出現(xiàn)的列表里,點(diǎn)擊 company

  • 在右邊出現(xiàn)的新緩沖區(qū)里點(diǎn)擊 Install(英語(yǔ)“安裝”的意思)

  • 點(diǎn)擊 Yes/是

開始感受自動(dòng)補(bǔ)全的樂趣吧!

用此方法(list-packages命令)也可以安裝很多其他的Emacs的插件(擴(kuò)展),大家也看到列表里有很多插件了吧,所以說Emacs都有點(diǎn)像一個(gè)小型的操作系統(tǒng)。

小編的Emacs配置文件


大家可以從網(wǎng)上下載一些大牛的Emacs配置文件,看一下他們的Emacs快捷鍵(除了基本的一些通用快捷鍵以外,用戶可以自定義很多快捷鍵,可以定義在 .emacs 文件中)。

如果你“不幸”選擇使用小編的Emacs配置文件,那么承蒙看得起(當(dāng)然,你可以把我的配置文件作為參考,取其精華,去其糟粕(不過估計(jì)精華有點(diǎn)少,糟粕比較多...),“調(diào)配”出屬于你自己的Emacs配置):

下面講的是在Linux或Mac OS下的配置操作:

請(qǐng)用小編的 .emacs 文件替換你的家目錄的.emacs文件 (安裝完Emacs,你的家目錄,也就是 ~ 下就會(huì)有一個(gè) .emacs 文件(默認(rèn)是隱藏文件))。

把壓縮文件里的其他三個(gè)模塊文件放置到 .emacs.d 這個(gè)文件夾下的modules文件夾 (.emacs.d 文件夾是安裝完Emacs就會(huì)有的,也在家目錄里,不過modules文件夾需要你自己創(chuàng)建):

cd ~/.emacs.d/
mkdir modules
cp php-mode.el psvn.el saved-places modules/   #(或者手動(dòng)直接把三個(gè)模塊文件復(fù)制到modules文件夾里)

我的Emacs配置和說明在Github上


https://github.com/frogoscar/emacs

其中配置文件的內(nèi)容是:

https://github.com/frogoscar/emacs/blob/master/.emacs

三個(gè)模塊:

https://github.com/frogoscar/emacs/tree/master/modules

常用快捷方式


Emacs的快捷鍵都是綁定于Ctrl和Alt(或稱Meta, 在Mac下就是Cmd鍵)上的,例如C-x就是Ctrl+x,M-x就是Alt+x (在Mac下就是Cmd鍵)。當(dāng)然所有的按鍵都可以自定義。

所以下面我在講述快捷鍵的組合表示方式時(shí):

  • C 代表Ctrl鍵

  • M 代表Alt鍵(在蘋果的Mac OS系統(tǒng)下是Cmd鍵)

  • C-x C-c 代表著“先按C-x,再按C-c”

  • C-x k 代表著“先按C-x,松開手,再按k”

小編平時(shí)最常用的是這些快捷鍵組合


M-s : 新建一個(gè)buffer(緩沖區(qū))

C-x O : 注意是大寫的O,不是零,所以需要按住shift鍵再按o鍵。用于在緩沖區(qū)之間切換

C-g : 取消當(dāng)前操作

C-x u : 回到上一步,相當(dāng)于Undo

C-x 3 : 把緩沖區(qū)(buffer)分為左右兩個(gè),新的一個(gè)緩沖區(qū)是復(fù)制當(dāng)前的緩沖區(qū) (可以執(zhí)行多次,來分割出很多小窗口)

C-x 2 : 把緩沖區(qū)(buffer)分為上下兩個(gè),新的一個(gè)緩沖區(qū)是復(fù)制當(dāng)前的緩沖區(qū) (可以執(zhí)行多次,來分割出很多小窗口)

M-w : 選中文字的情況是復(fù)制文字,而如果沒有選中文字則是復(fù)制當(dāng)前的一行

C-w : 選中文字的情況是剪切文字,而如果沒有選中文字則是剪切當(dāng)前的一行

M-x : 調(diào)出命令輸入,可以在后面接命令,比如man,svn-status,等

C-y : 黏貼

C-x C-s : 保存文本

C-x C-f : 打開文件,如果文件不存在,則新建文件

C-x C-v : 打開一個(gè)文件,取代當(dāng)前緩沖區(qū)

C-x k : 關(guān)閉當(dāng)前緩沖區(qū)(buffer)

C-s : 向前搜索

C-r : 向后搜索

C-x h : 全選

C-v : 向下翻頁(yè)

M-v : 向上翻頁(yè)

C-f : 前進(jìn)一個(gè)字符

C-b : 后退一個(gè)字符

M-f : 前進(jìn)一個(gè)單詞

M-b : 后退一個(gè)單詞

C-@ : 標(biāo)記開始區(qū)域

C-a : 移到行首

C-e : 移到行尾

M-a : 移到句首

M-e : 移到句尾

M-< : 緩沖區(qū)頭部

M-> : 緩沖區(qū)尾部

M-g M-g,再輸入數(shù)字 : 跳轉(zhuǎn)到文本的第幾行

C-x 0 : 關(guān)閉當(dāng)前緩沖區(qū)

C-x C-c : 退出Emacs

暫時(shí)只能記起來這么多啦,還有很多快捷鍵就要你自己去發(fā)掘啦!小編平時(shí)也不會(huì)所有的快捷鍵都用上,上述的快捷鍵組合是最常用的。

注意: 千萬不要死記這些快捷鍵組合,隨著你使用Emacs,很快就能記住的,相信我!

Emacs還有一個(gè)很大的好處就是幾乎所有的快捷鍵按鍵都在鍵盤的左下角,用左手就能單獨(dú)完成大部分操作,而右手則可以玩游戲(哦,不對(duì),是操作鼠標(biāo)),提高效率。

或者說,你用好了Emacs的快捷鍵組合,編輯代碼時(shí)甚至不需要鼠標(biāo),兩個(gè)手在鍵盤上就夠了!

還有一個(gè)平時(shí)常用的功能就是查詢函數(shù),可以方便查詢已定義的函數(shù):

  • 按下 M-x 來調(diào)出命令輸入

  • 輸入 man ,也就是Linux或Unix系統(tǒng)的man命令,是manuall的縮寫,也就是"手冊(cè)"的意思

  • 然后輸入你要查詢的函數(shù)名,回車

嘗試一下Emacs吧,真的是“神器”!
誰用誰知道,用過都說好~


我是 謝恩銘,公眾號(hào)「程序員聯(lián)盟」(微信號(hào):coderhub)運(yùn)營(yíng)者,慕課網(wǎng)精英講師 Oscar 老師,終生學(xué)習(xí)者。
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:「向著標(biāo)桿直跑」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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