GNU Emacs 教程:如何編輯文件(包括備忘單)
已發表: 2016-01-26Short Bytes:你想學習 Emacs 文本編輯器的基礎知識嗎? 好吧,這裡有一個基本教程供您入門。 對於那些不知道的人,GNU 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-n
或Ctrl-p.
對於頁面滾動,按Ctrl-v
或Meta-v
。
結束語
我試圖描述 Emacs 中一些最常用的快捷方式和基本文件編輯。 我所描述的只是你可以用 Emacs 做的一小部分。 不過這對於開始使用 Emacs 來說已經足夠了。 隨著我進一步了解並找到值得發布的功能,我將發布更多關於 Emacs 的信息。
如果您已經開始學習 Emacs 並喜歡它,我強烈建議您閱讀 Emacs 附帶的介紹性教程。
Emacs 備忘單
從這個備忘單(Emacs Cheat Sheet)中打印出來,並嘗試僅使用組合鍵來執行操作。 盡可能避免使用鼠標,您會看到文本編輯變得多麼高效。
你覺得這個基本的 Emacs 教程有幫助嗎? 在下面的評論中告訴我們您的觀點。