溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux的emacs命令怎么使用

發(fā)布時(shí)間:2022-01-26 14:28:33 來(lái)源:億速云 閱讀:326 作者:zzz 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Linux的emacs命令怎么使用”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Linux的emacs命令怎么使用”吧!

Linux常用命令emacs命令 是由GNU組織的創(chuàng)始人Richard Stallman開發(fā)的一個(gè)功能強(qiáng)大的全屏文本編輯器,它支持多種編程語(yǔ)言,具有很多優(yōu)良的特性。有眾多的系統(tǒng)管理員和軟件開發(fā)者使用emacs。

Linux的emacs命令怎么使用

語(yǔ)法

 emacs(選項(xiàng))(參數(shù))

選項(xiàng)

 +:?jiǎn)?dòng)emacs編輯器,并將光標(biāo)移動(dòng)到制定行號(hào)的行;
 -q:?jiǎn)?dòng)emacs編輯器,而不加載初始化文件;
 -u:?jiǎn)?dòng)emacs編輯器時(shí),加載指定用戶的初始化文件;
 -t:?jiǎn)?dòng)emacs編輯器時(shí),把指定的文件作為中端,不適用標(biāo)準(zhǔn)輸入(stdin)與標(biāo)準(zhǔn)輸出(stdout);
 -f:執(zhí)行指定lisp(廣泛應(yīng)用于人工智能領(lǐng)域的編程語(yǔ)言)函數(shù);
 -l:加載指定的lisp代碼文件;
 -batch:以批處理模式運(yùn)行emacs編輯器。

參數(shù)

文件:指定要編輯的文本文件。

實(shí)例

讓 Emacs 的修飾鍵變得更有意義

在 PC 鍵盤上,Ctrl 鍵被稱為 C,Alt 鍵被稱為 M,這些鍵并不是 C 和 M 鍵,由于它們總是與相應(yīng)的字母或符號(hào)鍵配對(duì),所以在文檔中很容易識(shí)別。

例如,C-x 在現(xiàn)代鍵盤符號(hào)中的意思是 Ctrl+X,M-x 是 Alt+X。就像你從任何應(yīng)用程序中剪切文本時(shí)一樣,同時(shí)按下這兩個(gè)鍵。

不過(guò),還有另一個(gè)層次的鍵盤快捷鍵,與現(xiàn)代電腦上的任何東西都完全不同。有時(shí),鍵盤快捷鍵并不只是一個(gè)鍵組合,而是由一系列的按鍵組成。

例如,C-x C-f 的意思是像往常一樣按 Ctrl+X,然后再按 Ctrl+C。

有時(shí),一個(gè)鍵盤快捷鍵有混合的鍵型。組合鍵 C-x 3 意味著像往常一樣按 Ctrl+X,然后按數(shù)字 3 鍵。

Emacs 之所以能做到這些花哨的強(qiáng)力組合,是因?yàn)槟承╂I會(huì)讓 Emacs 進(jìn)入一種特殊的命令模式。如果你按 C-X(也就是 Ctrl+X),就是告訴 Emacs 進(jìn)入空閑狀態(tài),等待第二個(gè)鍵或鍵盤快捷鍵。

Emacs 的文檔,無(wú)論是官方的還是非官方的,都有很多鍵盤快捷鍵。在心里練習(xí)把 C 鍵翻譯成 Ctrl 鍵,M 鍵翻譯成 Alt 鍵,那么這些文檔對(duì)你來(lái)說(shuō)都會(huì)變得更有意義。

剪切、復(fù)制和粘貼的備用快捷方式

從規(guī)范上,復(fù)制文本是通過(guò)一系列的鍵盤快捷鍵進(jìn)行的,這些快捷鍵取決于你想要復(fù)制或剪切的方式。

例如,你可以用 M-d(Alt+d 的 Emacs 行話)剪切一整個(gè)單詞,或者用C-k(Ctrl+K)剪切一整行,或者用 M-m(Alt+M)剪切一個(gè)高亮區(qū)域。如果你想的話,你可以習(xí)慣這樣,但如果你喜歡 Ctrl+C 和 Ctrl+X 和 Ctrl-V,那么你可以用這些來(lái)代替。

啟用現(xiàn)代的“剪切-復(fù)制-粘貼”需要激活一個(gè)名為 CUA( 通用用戶訪問(wèn)(Common User Access))的功能。要激活 CUA,請(qǐng)單擊“選項(xiàng)”菜單并選擇“使用 CUA 鍵”。啟用后,C-c 復(fù)制高亮顯示的文本,C-x 剪切高亮顯示的文本,C-v 粘貼文本。這個(gè)模式只有在你選擇了文本之后才會(huì)實(shí)際激活,所以你仍然可以學(xué)習(xí) Emacs 通常使用的 C-x 和 C-c 綁定。

用哪個(gè)都好

Emacs 是一個(gè)應(yīng)用程序,它不會(huì)意識(shí)到你對(duì)它的感情或忠誠(chéng)度。如果你想只用 Emacs 來(lái)完成那些“感覺”適合 Emacs 的任務(wù),而用不同的編輯器(比如 Vim)來(lái)完成其他任務(wù),你可以這樣做。

你與一個(gè)應(yīng)用程序的交互會(huì)影響你的工作方式,所以如果 Emacs 中所需要的按鍵模式與特定任務(wù)不一致,那么就不要強(qiáng)迫自己使用 Emacs 來(lái)完成該任務(wù)。Emacs 只是眾多可供你使用的開源工具之一,沒有理由讓自己只限于一種工具。

探索新功能

Emacs 所做的大部分工作都是一個(gè) elisp 函數(shù),它可以從菜單選擇和鍵盤快捷鍵調(diào)用,或者在某些情況下從特定事件中調(diào)用。所有的函數(shù)都可以從迷你緩沖區(qū)(Emacs 框架底部的命令行)執(zhí)行。理論上,你甚至可以通過(guò)鍵入 forward-word 和 backward-word 以及 next-line 和 previous-line 等函數(shù)來(lái)導(dǎo)航光標(biāo)。這肯定是無(wú)比低效的,但這就是一種直接訪問(wèn)你運(yùn)行的代碼的方式。在某種程度上,Emacs 就是自己的 API。

你可以通過(guò)在社區(qū)博客上閱讀有關(guān) Emacs 的資料來(lái)了解新函數(shù),或者你可以采取更直接的方法,使用描述函數(shù)(describe-function)。要獲得任何函數(shù)的幫助,按 M-x(也就是 Alt+X),然后輸入 describe-function,然后按回車鍵。系統(tǒng)會(huì)提示你輸入一個(gè)函數(shù)名稱,然后顯示該函數(shù)的描述。

你可以通過(guò)鍵入M-x(Alt+X),然后鍵入?` 來(lái)獲得所有可用函數(shù)的列表。

你也可以在輸入函數(shù)時(shí),通過(guò)按 M-x 鍵,然后輸入 auto-complete-mode,再按回車鍵,獲得彈出的函數(shù)描述。激活該模式后,當(dāng)你在文檔中鍵入任何 Emacs 函數(shù)時(shí),都會(huì)向你提供自動(dòng)補(bǔ)完選項(xiàng),以及函數(shù)的描述。

Linux的emacs命令怎么使用

當(dāng)你找到一個(gè)有用的函數(shù)并使用它時(shí),Emacs 會(huì)告訴你它的鍵盤綁定,如果有的話。如果沒有的話,你可以通過(guò)打開你的 $HOME/.emacs 配置文件并輸入鍵盤快捷鍵來(lái)自己分配一個(gè)。語(yǔ)法是 global-set-key,后面是你要使用的鍵盤快捷鍵,然后是你要調(diào)用的函數(shù)。

例如,要將 screenwriter-slugline 函數(shù)分配一個(gè)鍵盤綁定:

 (global-set-key (kbd “C-c s”) 'screenwriter-slugline)

重新加載配置文件,鍵盤快捷鍵就可以使用了:

 M-x load-file ~/.emacs

緊急按鈕

當(dāng)你使用 Emacs 并嘗試新的函數(shù)時(shí),你一定會(huì)開始調(diào)用一些你并不想調(diào)用的東西。Emacs 中通用的緊急按鈕是 C-g(就是 Ctrl+G)。

我通過(guò)將 G 與 GNU 聯(lián)系起來(lái)來(lái)記住這一點(diǎn),我想我是在呼吁 GNU 將我從一個(gè)錯(cuò)誤的決定中拯救出來(lái),但請(qǐng)隨意編造你自己的記憶符號(hào)。

如果你按幾下 C-g,Emacs 的迷你緩沖區(qū)就會(huì)回到潛伏狀態(tài),彈出窗口被隱藏,你又回到了一個(gè)普通的、無(wú)聊的文本編輯器的安全狀態(tài)。

忽略鍵盤快捷鍵

潛在的鍵盤快捷鍵太多,在這里無(wú)法一一總結(jié),更不希望你能記住。這是設(shè)計(jì)好的。Emacs 的目的是為了定制,當(dāng)人們?yōu)?Emacs 編寫插件時(shí),他們可以定義自己的特殊鍵盤快捷鍵。

我們的想法不是要馬上記住所有的快捷鍵。相反,你的目標(biāo)是讓你在使用 Emacs 時(shí)感到舒適。你在 Emacs 中變得越舒適,你就越會(huì)厭倦總是求助于菜單欄,你就會(huì)開始記住對(duì)你重要的組合鍵。

根據(jù)自己在 Emacs 中通常做的事情,每個(gè)人都有自己喜歡的快捷方式。一個(gè)整天用 Emacs 寫代碼的人可能知道運(yùn)行調(diào)試器或啟動(dòng)特定語(yǔ)言模式的所有鍵盤快捷鍵,但對(duì) Org 模式或 Artist 模式一無(wú)所知。這很自然,也很好。

使用 Bash 時(shí)練習(xí) Emacs

了解 Emacs 鍵盤快捷鍵的一個(gè)好處是,其中許多快捷鍵也適用于 Bash。

  • C-a:到行首

  • C-e:到行尾

  • C-k:剪切整行

  • M-f:向前一個(gè)字

  • M-b:向后一個(gè)字

  • M-d:剪切一個(gè)字

  • C-y:貼回(粘貼)最近剪切的內(nèi)容

  • M-Shift-U:大寫一個(gè)詞

  • C-t:交換兩個(gè)字符(例如,sl 變成 ls)

還有更多的例子,它能讓你與 Bash 終端的交互速度超乎你的想象。

Emacs 有一個(gè)內(nèi)置的包管理器來(lái)幫助你發(fā)現(xiàn)新的插件。它的包管理器包含了幫助你編輯特定類型文本的模式(例如,如果你經(jīng)常編輯 JSON 文件,你可以嘗試使用 ejson 模式)、嵌入的應(yīng)用程序、主題、拼寫檢查選項(xiàng)、linter 等。這就是 Emacs 有可能成為你日常計(jì)算的關(guān)鍵所在;一旦你找到一個(gè)優(yōu)秀的 Emacs 包,你可能離不開它了。

Linux的emacs命令怎么使用

你可以按 M-x(就是 Alt+X)鍵,然后輸入 package-list-packages 命令,再按回車鍵來(lái)瀏覽包。軟件包管理器在每次啟動(dòng)時(shí)都會(huì)更新緩存,所以第一次使用時(shí)要耐心等待它下載可用軟件包的列表。一旦加載完畢,你可以用鍵盤或鼠標(biāo)進(jìn)行導(dǎo)航(記住,Emacs 是一個(gè) GUI 應(yīng)用程序)。每一個(gè)軟件包的名稱都是一個(gè)按鈕,所以你可以將光標(biāo)移到它上面,然后按回車鍵,或者直接用鼠標(biāo)點(diǎn)擊它。你可以在 Emacs 框架中出現(xiàn)的新窗口中閱讀有關(guān)軟件包的信息,然后用安裝按鈕來(lái)安裝它。

有些軟件包需要特殊的配置,有時(shí)會(huì)在它的描述中列出,但有時(shí)需要你訪問(wèn)軟件包的主頁(yè)來(lái)閱讀更多的信息。例如,自動(dòng)完成包 ac-emoji 很容易安裝,但需要你定義一個(gè)符號(hào)字體。無(wú)論哪種方式都可以使用,但你只有在安裝了字體的情況下才能看到相應(yīng)的表情符號(hào),除非你訪問(wèn)它的主頁(yè),否則你可能不會(huì)知道。

俄羅斯方塊

Emacs 有游戲,信不信由你。有數(shù)獨(dú)、拼圖、掃雷、一個(gè)好玩的心理治療師,甚至還有俄羅斯方塊。這些并不是特別有用,但在任何層面上與 Emacs 進(jìn)行交互都是很好的練習(xí),游戲是讓你在 Emacs 中花費(fèi)時(shí)間的好方法。

Linux的emacs命令怎么使用

俄羅斯方塊也是我最初接觸 Emacs 的方式,所以在該游戲的所有版本中,Emacs 版本才是我真正的最愛。

使用 Emacs

GNU Emacs 之所以受歡迎,是因?yàn)樗撵`活性和高度可擴(kuò)展性。人們習(xí)慣了 Emacs 的鍵盤快捷鍵,以至于他們習(xí)慣性地嘗試在其他所有的應(yīng)用程序中使用這些快捷鍵,他們將應(yīng)用程序構(gòu)建到 Emacs 中,所以他們永遠(yuǎn)不需要離開。如果你想讓 Emacs 在你的計(jì)算生活中扮演重要角色,最終的關(guān)鍵是擁抱未知,開始使用 Emacs??目慕O絆地,直到你發(fā)現(xiàn)如何讓它為你工作,然后安下心來(lái),享受 40 年的舒適生活。

到此,相信大家對(duì)“Linux的emacs命令怎么使用”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI