GNU Emacs 教程:如何編輯文件(包括備忘單)

已發表: 2016-01-26

emac教程 Short Bytes:你想學習 Emacs 文本編輯器的基礎知識嗎? 好吧,這裡有一個基本教程供您入門。 對於那些不知道的人,GNU Emacs 是一個廣受歡迎的文本編輯器,它具有廣泛的功能。

最近開始學習 Emacs,在這篇文章中,我將介紹如何在 Emacs 中編輯文本文件以及一些常用的快捷方式。 這篇文章是為那些從未使用過 Emacs 或懶得閱讀入門教程的人而寫的——就像我一樣。

那麼,什麼是 Emacs?

GNU Emacs,或者通常只是 Emacs,根據其手冊頁,是一個可擴展的、可定制的、自記錄的實時顯示編輯器。 它不僅僅是一個文本編輯器。 它可用於查看電子郵件、瀏覽網頁、編譯和運行程序、測試軟件(使用 gdb)和管理文件。 為了這篇文章,我們將使用它作為文本編輯器。

在 Emacs 中編輯有那麼難嗎?

一點都不。 您只需使用鼠標和鍵盤即可編輯文件,無需任何快捷方式。 就像記事本一樣。 顯然,它的效率並不高。 您需要一些常用任務的快捷方式,而 Emacs 有數以萬計的快捷方式。

讓我們做一些編輯……

在 Emacs 中打開文件

好的。 按Ctrl-x Ctrl-f 。 然後鍵入文件名。 您可以在屏幕底部(稱為 minibuffer)鍵入時看到文件名。 Tab完成也在那里工作。

或者,也可以使用下拉文件菜單或打開文件圖標(Emacs 框架的左上角)打開文件,或者只需雙擊文件即可。

基本光標移動

Emacs 支持通過箭頭鍵移動光標,但最好將手指放在鍵盤的標準位置上。 這是圍繞文本進行基本移動的鍵綁定列表。

Ctrl-p:移動到上一行

Ctrl-n:移動到下一行

Ctrl-f:向前移動一個字符

Ctrl-b:向後移動一個字符

Ctrl-e:移動到行尾

Ctrl-a:移動到行首

大多數這些快捷方式都有Meta表親。 就像Ctrl-f將光標向前移動一個字符一樣, Meta-f將光標向前移動一個單詞。 Meta在大多數鍵盤上顯示為Alt

下一節之前的一些術語

在 Emacs 中,緩衝區的概念非常普遍。 一般來說,一旦你打開了一個文件,就說它駐留在緩衝區中。 您對該文件所做的任何更改都存在於緩衝區中。 除非您保存了這些更改,否則它們不會出現在磁盤上。 Emacs 支持同時編輯多個緩衝區。 也就是說,您可以將多個文件加載到 Emacs 緩衝區並在它們之間切換,而不會丟失您所做的任何更改。

在 Emacs 中, windows的概念與其他常用軟件不同。 在 Emacs 中,可以將屏幕分割成多個窗口,每個窗口都有自己的緩衝區。 請注意,兩個窗口共享相同的屏幕、相同的文件菜單以及相同的關閉和最小化按鈕。 一般來說,兩者都存在於同一個窗口中。

其他軟件稱為窗口的東西,Emacs 將它們稱為框架。 也就是說,每一幀都有不同的文件菜單和關閉按鈕。

Emacs 中的多窗口編輯

多窗口編輯是我最喜歡 Emacs 的功能之一。 Emacs 中有幾個多窗口編輯快捷方式。 我會盡量減少到最低限度。 只需同時編輯兩個文件。

首先,使用Ctrl-x Ctrl-f,然後使用文件名。 然後按Ctrl-x 2 。 這會將窗口一分為二,一個在另一個下方。 最初,兩個窗口都顯示相同的緩衝區。 要在窗口之間切換,請按Ctrl-x o 。 在第二個窗口中打開另一個文件並同時編輯它們。 或者,Emacs 可以並行顯示多個窗口。 為此,請按Ctrl-x 3.

要殺死第二個窗口,即在框架上只顯示一個窗口,請按Ctrl-X 1.當您殺死一個窗口時,與之關聯的緩衝區不會被破壞。 換句話說,您對第二個窗口所做的任何更改都不會丟失。 該緩衝區只是隱藏的。 要在緩衝區之間切換,請閱讀下一節。

在緩衝區之間切換

初學者可能不會很直觀地發現多個緩衝區的想法。 好吧,我沒有。 我曾經打開一個文件,對其進行更改,保存它,關閉它,然後打開另一個文件。 即使作為參考,您也需要先保存並關閉,或者打開另一個文本編輯器窗口(即 Emacs 上下文中的框架),以查看另一個文件。 相信我,多個緩衝區可以使任務變得更加輕鬆和高效。

在 Emacs 中,在打開的緩衝區之間切換非常簡單。 按Ctrl-x b,然後輸入緩衝區名稱。 可以對此類任務使用tab完成。 或者,按Ctrl-x Ctrl-b. 這將打開另一個顯示緩衝區列表的窗口。 要關閉此窗口,您知道該怎麼做。 您可能會看到一些以前存在的緩衝區,例如TUTORIAL、*Messages*等。當您打開它們時,它們的使用會很明顯。

在 Emacs 中保存文件

這也許是最重要的任務。 Emacs 足夠智能,不會在您未保存而退出時或在電源故障後丟失您的更改。 當您沒有保存更改並且 Emacs 由於某種原因關閉時,默認情況下會創建一個名為#filename.txt#的新文件。 此文件包含您所有未保存的更改。 不過,最好在不需要時避免冒險,並在退出前保存文件。

要保存在緩衝區中所做的更改,請按Ctrl-x Ctrl-s. 或者,按Ctrl-x Ctrl-w,以使用其他名稱保存文件。

各種各樣的:

更多快捷方式和 Emacs 功能可能對您有所幫助。

取消命令

如果您由於部分輸入的命令或任何其他原因而卡在 minibuffer 區域,請按Ctrl-g退出該操作。 或者,按三次Esc鍵 ( Esc Esc Esc)也會導致取消部分操作。

搜索

要搜索關鍵字或短語,請按Ctrl-s並輸入關鍵字。 您鍵入的關鍵字將顯示在 minibuffer(最底行)中。 Emacs 對關鍵字進行增量搜索,也就是說,它會在您鍵入第一個字符時立即開始搜索。 要查找關鍵字的下一個匹配項,請再次按Ctrl-s

即刻退出

可以通過點擊頂部顯示的關閉 (X) 按鈕退出 Emacs(無論您的 DE 顯示該按鈕的位置)。 因為我們在這篇文章中只討論命令行,所以按Ctrl-x Ctrl-c會做同樣的事情。 儘管如果您未保存緩衝區,它會在迷你緩衝區中顯示警告。 按 y 或 n 就足夠了。

滾動

行滾動如上所述,即按Ctrl-nCtrl-p. 對於頁面滾動,按Ctrl-vMeta-v

結束語

我試圖描述 Emacs 中一些最常用的快捷方式和基本文件編輯。 我所描述的只是你可以用 Emacs 做的一小部分。 不過這對於開始使用 Emacs 來說已經足夠了。 隨著我進一步了解並找到值得發布的功能,我將發布更多關於 Emacs 的信息。

如果您已經開始學習 Emacs 並喜歡它,我強烈建議您閱讀 Emacs 附帶的介紹性教程。

Emacs 備忘單

從這個備忘單(Emacs Cheat Sheet)中打印出來,並嘗試僅使用組合鍵來執行操作。 盡可能避免使用鼠標,您會看到文本編輯變得多麼高效。

你覺得這個基本的 Emacs 教程有幫助嗎? 在下面的評論中告訴我們您的觀點。