Emacs 不僅僅是個編輯器,更像個整合開發環境。理解其核心概念如緩衝區、點和標記,能大幅提升編輯效率。熟練掌握幫助命令能快速查詢所需功能,例如使用 <Ctrl+H> k 瞭解快捷鍵功能。Emacs 的模式和變數設定也至關重要,<Ctrl+H> m 可檢視當前模式說明。此外,Emacs 支援多種編碼系統,並提供互動式教學和套件管理功能,方便使用者學習和擴充套件。
GNU Emacs 編輯器快速指引
GNU Emacs 是一款功能強大且高度可自定義的文字編輯器,廣泛應用於程式設計、檔案編輯及資訊處理等領域。以下是 Emacs 幫助命令的總結,幫助您更有效地使用這款編輯器。
尋找命令及功能
在 Emacs 中,您可以使用 <Ctrl+H> 來呼叫幫助系統。以下是一些常用的幫助命令:
<Ctrl+H> a:顯示與主題比對的命令列表。<Ctrl+H> b:顯示所有活動的鍵繫結,包括次要模式、主要模式及全域繫結。<Ctrl+H> c key:顯示鍵序列key對應的命令名稱。<Ctrl+H> d:顯示與主題比對的命令及變數檔案。<Ctrl+H> e:顯示 Messages 緩衝區。
查詢及檔案
以下是一些查詢及檔案相關的命令:
<Ctrl+H> f function <Enter>:顯示 Lisp 函式function的檔案,由於命令也是 Lisp 函式,因此這對於命令也適用。<Ctrl+H> h:顯示 HELLO 檔案,展示各種字元集的範例。<Ctrl+H> i:啟動 Info,GNU 的檔案瀏覽器,Emacs 手冊可以在 Info 中找到。<Ctrl+H> k key:顯示鍵序列key對應的命令名稱及其檔案。
模式與變數
瞭解 Emacs 的模式及變數是高效使用編輯器的關鍵:
<Ctrl+H> l:顯示最近 300 個按鍵操作的描述。<Ctrl+H> m:顯示目前主要模式的檔案。<Ctrl+H> n:顯示 Emacs 最近變更的新聞。<Ctrl+H> v var <Enter>:顯示 Lisp 變數var的檔案。
編碼系統
Emacs 支援多種編碼系統,以下是相關命令:
<Ctrl+H> C coding <Enter>:描述編碼系統coding。<Ctrl+H> C <Enter>:描述目前正在使用的編碼系統。
教學與包管理
Emacs 提供了豐富的學習資源及包管理工具:
<Ctrl+H> t:進入 Emacs 互動教學程式。<Ctrl+H> p:根據主題關鍵字尋找套件。<Ctrl+H> P package <Enter>:顯示套件package的檔案。
其他實用命令
此外,還有一些其他實用的幫助命令:
<Ctrl+H> s:顯示目前語法表的內容。<Ctrl+H> w command <Enter>:顯示哪些鍵執行命令command。
內容解密:
<Ctrl+H> a topics <Enter>:這個命令會展示所有名稱中包含topics的命令列表。它使用apropos-command函式來搜尋比對的命令。<Ctrl+H> b:這個命令會列出所有目前活動中的鍵繫結,依次展示次要模式、主要模式和全域繫結。它使用describe-bindings函式來實作這一功能。<Ctrl+H> c key:這個命令會顯示鍵序列key對應的命令名稱。它使用describe-key-briefly函式來簡短地描述該鍵繫結。如果需要更多詳細資訊,可以使用<Ctrl+ H> k key。<Ctrl+H> d topics <Enter>:這個命令會展示所有檔案中包含topics的命令和變數。它使用apropos-documentation函式來搜尋比對專案。<Ctrl+H> e:這個命令會開啟並顯示 Messages 緩衝區,其中記錄了 Emacs 在執行過程中的訊息和警告。它使用view-echo-area-messages函式來實作這一功能。
Emacs圖形化功能
對於新手來說,Emacs 最有用的圖形化功能是選單欄和速度按鈕欄。這些功能利用圖形化方式與使用者互動,使得新手和有經驗的使用者都能更容易地操作 Emacs。以下是每個選單欄專案的簡短描述:
- 檔案 (File):提供開啟、儲存和關閉緩衝區、檔案、視窗和框架的功能。
- 編輯 (Edit):提供修改緩衝區中文字內容的方法。
- 選項 (Options):提供組態變更的功能。
- 緩衝區 (Buffers):列出當前開啟的所有緩衝區。
- 工具 (Tools):提供檔案和應用程式功能。
- 幫助 (Help):提供詳細檔案和線上手冊。
速度按鈕欄則包含單一按鈕操作,如檔案和緩衝區操作、常見文字編輯操作(如剪下和貼上)、印表、搜尋以及變更偏好設定等。
GNU Emacs 編輯器練習
基本概念與操作
在使用 Emacs 編輯器時,瞭解以下幾個基本概念非常重要:
緩衝區 (Buffer):緩衝區是目前正在編輯的文字物件。它不同於儲存在磁碟上的檔案。當您啟動 Emacs 編輯某個檔案時,您實際上是在檢視該檔案對應的緩衝區內容。
點 (Point) 與標記 (Mark):點是遊標所在位置前方的一個空白位置。標記則是由您設定的一個位置,通常透過按住
<Ctrl+Space>或<Ctrl+ @>來設定。點和標記之間的文字稱為「區域」。區域 (Region):區域是您希望進行操作(如剪下或複製)的一段文字。例如,在句子「Now is the time for all good men」中,如果遊標位於「N」,而標記設定在「i」前方,「Now is the t」就成為區域。
實踐練習
以下是一些實踐練習題,幫助您更好地掌握 Emacs 的操作:
練習點與標記:
- 在新建的一個 Emacs 檔案中輸入「Now is the time for all good men」。
- 將遊標移動到「N」處。
- 按住
<Ctrl+Space>設定標記,然後用箭頭鍵移動遊標到「n」處(單詞「men」中的「n」)設定標記。
查詢幫助:
- 您可以使用
<Ctrl-H i d m Emacs <Enter>命令在 Info 模式下搜尋「point」、「minibuffer」、「modes」、「keys」等詞彙,並根據所取得到資訊撰寫出他們各自簡短描述。
- 您可以使用
理解圖形化介面:
- 您可以嘗試在 Raspberry Pi 上執行 GUI 桌面環境中的 Emacs,並觀察如何圖形化地表示「區域」。
建立與執行 Shell 指令碼:
- 您可以使用 Emacs 建立、編輯及執行 Shell 指令碼。例如,建立一個別名指令碼來替代 DOS 命名方式執行一些常見操作。
透過以上練習和指引,您將能夠更有效地利用 GNU Emacs 編輯器進行各種任務。希望這些內容對您有所幫助!
Emacs 編輯器操作及系統管理
使用 Emacs 編輯 Bash 別名
在 Raspberry Pi OS 上,使用 Emacs 編輯器來管理 Bash 別名是一個常見的操作。以下是詳細的步驟,幫助你建立和測試 Bash 別名。
初次建立和儲存 Bash 別名
- 啟動 Emacs:在終端提示符下輸入
emacs alien,然後按<Enter>。Emacs 編輯器會顯示在你的螢幕上,並關閉歡迎畫面。 - 輸入別名定義:
- 輸入
# DOS aliases,然後按<Enter>。 - 輸入
alias del=rm,然後按<Enter>。 - 輸入
alias dir='ls -la',然後按<Enter>。 - 輸入
alias type=more,然後按<Enter>。
- 輸入
- 儲存檔案:按下
<Ctrl+ X>並持續按下<Ctrl+ S>來儲存檔案,命名為alien。你應該會看到類別似圖 3.2 的顯示。 - 離開 Emacs:按下
<Ctrl+ X>並持續按下<Ctrl+ C>來優雅地離開 Emacs,傳回到 Bash 提示符。
測試和解除別名
在建立了別名檔案 alien 之後,你可以透過以下步驟來測試這些別名:
- 原始檔:在終端中輸入
source alien來載入別名。 - 測試別名:分別使用
del、dir、type命令來測試它們是否正確工作。 - 解除別名:當你完成測試後,可以使用
unalias del dir type命令來解除這些別名。
高效使用 Emacs 的基本操作
Emacs 提供了許多基本操作來存取、儲存和離開檔案。以下是一些常見的操作方法:
存取新檔案
- 使用選單:選擇
File > Visit New File,並在出現的視窗中輸入新檔名稱,然後選擇OK。 - 快捷鍵:輸入
<Ctrl+ X> <Ctrl+ F>,然後在小緩衝區中輸入檔名稱。
儲存檔案
- 使用選單:選擇
File > Save。 - 快捷鍵:輸入
<Ctrl+ X> <Ctrl+ S>。
儲存並離開
如果你在編輯過程中做了未儲存的修改,Emacs 會提示你是否要儲存這些修改。你可以選擇以下選項:
- 儲存並離開:選擇
Save file? Yes。 - 不儲存並離開:選擇
No for All。 - 檢視變更:選擇
View Changes in This Buffer。
清屏命令與導航快捷鍵
- 清屏:
<Ctrl+ L> - 快速移動遊標:
- 前進/後退字元:
<Ctrl+ F>/<Ctrl+ B> - 前進/後退單詞:
<Alt+ F>/<Alt+ B> - 前進/後退行:
<Ctrl+ N>/<Ctrl+ P> - 行首/行尾:
<Ctrl+ A>/<Ctrl+ E> - 前進/後退句子:
<Alt+ A>/<Alt+ E> - 前進/後退段落:
<Alt+ {>/<Alt+ }> - 翻頁:
<Ctrl+ V>/<Alt+ V> - 滾動畫面:
<Ctrl+ X> [<]/<Ctrl + X> [>]
- 前進/後退字元:
建立和使用 .bash_aliases
在 Raspberry Pi OS 中,你可以將自定義的 Bash 別名儲存在 .bash_aliases 檔案中。以下是具體步驟:
- 檢查
.bashrc:預設情況下,.bashrc檔案中已經包含以下程式碼:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/ .bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
- 建立
.bash_aliases檔案:在主目錄中建立一個空白檔案:
bob@raspberrypi:~ $ touch ~/.bash_aliases
- 編輯
.bash_aliases:使用 Emacs 編輯這個檔案,並在其中新增你的自定義別名。
###實務案例:編輯 .bash_aliases
- 啟動 Emacs:在終端提示符下輸入
emacs alien,然後按<Enter>。關閉 Emacs 歡迎螢幕。載入之前建立的別名檔案。 - 插入新行:
- 使用箭頭鍵將遊標定位到第三行結尾處的
'字元後面。 - 按
<Enter>插入新行。
- 使用箭頭鍵將遊標定位到第三行結尾處的
- 輸入新別名定義:“alice dirw= ls”。
- 刪除部分文字:“alice” 用
<Alt + D>的方式剪下掉,“ali” 用刪除鍵刪除掉剩餘部分: - 重新貼上:“al” 用
<Alt + Y>的方式貼上回去並繼續輸入“as copy= cp”。 - 另存為新檔案:“alien2”。
內容解密:
- 啟動 Emacs: 在終端輸入
emacs alien, 載入之前建立好的別名定義檔案以便進行編輯。 - 插入新行: 在需要新增內容的地方透過
<Enter>插入新行, 準備新增新別名內容. - 輸入 alice dirw= ls: 在插入的新行中輸入所需別名內容, 用於測試與編輯.
- 剪下 alice: 在進行編輯時, 對不需要的文字透過
<Alt + D>的方式進行剪下. - 刪除剩餘部分: 在剪下掉部分內容後, 對於無需內容透過刪除鍵將其刪除.
- 貼上 al 和繼續輸入 as copy= cp: 在進行多次編輯後, 想要將之前剪下內容重新貼上回去時, 可以透過快捷鍵來實作.
- 另存為 alien2: 在完成所有編輯後, 輸入所需名稱並另存為該名稱, 用於之後測試.
###總結
透過以上步驟和技巧,你可以熟練地使用 Emacs 編輯器來管理和測試 Bash 別名。這些操作不僅提高了工作效率,還能讓你更好地理解和應用 Linux 作業系統中的命令列工具。
Emacs 編輯器的實用技巧與操作
使用 Emacs 編輯器的基本操作
在使用 Emacs 編輯器時,玄貓建議從一些基本的操作開始。以下是幾個常見且實用的步驟:
取消幫助請求:在需要幫助時,按下
<Ctrl+ H>並接著按a鍵,這會在最小緩衝區顯示幫助提示。如果你想取消這個請求,只需按下<Ctrl+ G>。離開 Emacs:要離開 Emacs 並回到 shell 提示符,可以按下
<Ctrl+ X> <Ctrl+ C>。編輯
.bash_aliases檔案:在 shell 提示符下,輸入emacs .bash_aliases並按<Enter>。然後拒絕啟動畫面,這樣就可以開始編輯.bash_aliases檔案。插入檔案內容:將遊標移動到檔案的第一行空白處,按下
<Ctrl+ X>並接著按i鍵。這樣就可以將另一個檔案的內容插入當前緩衝區。儲存檔案:從選單中選擇「檔案 > 儲存 (目前緩衝區)」或使用快捷鍵
<Ctrl+ X> <Ctrl+ S>。離開編輯器:完成編輯後,再次按下
<Ctrl+ X> <Ctrl+ C>即可離開 Emacs。
測試與修正 Bash 別名
測試新建立的 .bash_aliases 檔案
在終端機視窗中,輸入一個別名命令及其相應的引數,觀察結果。哪些別名能正常工作,哪些不能?為什麼?
修正不正常工作的 Bash 別名
使用 Emacs 編輯 .bash_aliases 檔案中的錯誤別名,然後再次測試。最後,取消這些別名。
鍵盤宏功能
Emacs 編輯器內建了一個簡單且強大的鍵盤宏功能,允許你記錄一系列鍵盤操作並重複執行。這對於需要重複多次相同操作的情況非常有用。
執行練習:建立新的文字檔案
- 在 shell 提示符下輸入
emacs datafile並按<Enter>。拒絕啟動畫面。 - 按下
<Ctrl+ X> <Shift+ 9>開始記錄鍵盤宏。 - 輸入
1 2 3 4 5 6 7 8 9 10並按<Enter>。 - 按下
<Ctrl+ X> <Shift+0>停止記錄鍵盤宏。 - 按下
<Ctrl+ X> E啟動剛剛定義的宏,將數字重複輸入到緩衝區中。 - 再次按下
E,直到顯示類別似於圖表3.4的結果。 - 按下
<Ctrl+ X> <Ctrl+ S>儲存緩衝區到datafile。 - 按下
<Ctrl+ X> <Ctrl+C>離開 Emacs。
次段落標題:此圖示解說
此圖示展示了使用 Emacs 編輯器建立新文字檔案的步驟流程。從開啟 Emacs 編輯器開始,拒絕啟動畫面後進入記錄鍵盤宏的階段。接著輸入數字並停止記錄宏,再啟動宏將數字重複輸入到緩衝區中。最後儲存檔案並離開 Emacs。
搜尋與替換功能
Emacs 提供了強大的搜尋與替換功能。以下是一些常用的操作:
- 向前搜尋:
<Ctrl+ S> - 向後搜尋:
<Ctrl+ R> - 正規表示式搜尋:
<Ctrl+ Alt+ S> - 互動式替換文字串:
<Alt+ %> - 使用正規表示式進行互動式替換:
<Alt+ X> query- replace- regexp
這些功能讓你可以高效地查詢和修改檔案內容。
剪下與貼上功能
Emacs 的剪下與貼上功能透過「Kill Ring」來實作。以下是一些基本操作:
- 剪下文字:移動點到你想剪下的文字前,按下
<Esc+ D>。 - 貼上文字:將點移動到你想貼上文字的位置,按下
<Ctrl+ Y>。
次段落標題:此圖示解說
此圖示展示了剪下與貼上文字的一個簡單例子。首先移動點到你想剪下的文字前,然後使用命令剪下文字。接著將點移動到你想貼上文字的位置,再次使用命令貼上剪下過的文字。
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
title GNU Emacs 編輯器:快速指引與實用技巧
package "正規表示式" {
package "基本語法" {
component [字元類 [abc]] as char_class
component [量詞 * + ?] as quantifier
component [錨點 ^ $] as anchor
}
package "進階功能" {
component [群組 ()] as group
component [後向參考 \1] as backref
component [前瞻後顧] as lookahead
}
package "Python re 模組" {
component [re.match()] as match
component [re.search()] as search
component [re.findall()] as findall
component [re.sub()] as sub
}
}
char_class --> quantifier : 重複匹配
quantifier --> anchor : 位置定位
group --> backref : 捕獲參考
match --> search : 模式搜尋
search --> findall : 全部匹配
findall --> sub : 取代操作
note right of lookahead
(?=...) 正向前瞻
(?!...) 負向前瞻
(?<=...) 正向後顧
end note
@enduml