linux如何在shell中使用vi模式

這篇文章主要介紹了linux如何在shell中使用vi模式,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了涼山州免費(fèi)建站歡迎大家使用!

在計(jì)算和操作系統(tǒng)的龐大生態(tài)系統(tǒng)中有很多 shell。然而,在 Linux 世界中,bash 已經(jīng)成為事實(shí)上的標(biāo)準(zhǔn),并在在撰寫本文時(shí),它是所有主要  Linux 發(fā)行版上的默認(rèn) shell。因此,它就是我所說的 shell。需要注意的是,bash 在其他類 UNIX  操作系統(tǒng)上也是一個(gè)相當(dāng)受歡迎的選項(xiàng),所以它可能跟你用的差別不大(對于 Windows 用戶,可以用 cygwin)。

在探索 shell 時(shí),首先要做的是在其中輸入命令并得到輸出,如下所示:

$ echo "Hello World!"Hello World!

這是常見的練習(xí),可能每個(gè)人都做過。沒接觸過的人和新手可能沒有意識(shí)到 bash shell 的默認(rèn)輸入模式是 Emacs  模式,也就是說命令行中所用的行編輯功能都將使用 Emacs 風(fēng)格的“鍵盤快捷鍵”。(行編輯功能實(shí)際上是由 GNU Readline 進(jìn)行的。)

例如,如果你輸入了 echo "Hello Wrld!",并意識(shí)到你想要快速跳回一個(gè)單詞(空格分隔)來修改打字錯(cuò)誤,而無需按住左箭頭鍵,那么你可以同時(shí)按下  Alt+b,光標(biāo)會(huì)將向后跳到 W。

$ echo "Hello Wrld!"               ^         Cursor is here.

這只是使用提供給 shell 用戶的諸多 Emacs  快捷鍵組合之一完成的。還有其他更多東西,如復(fù)制文本、粘貼文本、刪除文本以及使用快捷方式來編輯文本。使用復(fù)雜的快捷鍵組合并記住可能看起來很愚蠢,但是在使用較長的命令或從  shell 歷史記錄中調(diào)用一個(gè)命令并想再次編輯執(zhí)行時(shí),它們可能會(huì)非常強(qiáng)大。

盡管 Emacs 的鍵盤綁定都不錯(cuò),如果你對 Emacs 編輯器熟悉或者發(fā)現(xiàn)它們很容易使用也不錯(cuò),但是仍有一些人覺得 “vi  風(fēng)格”的鍵盤綁定更舒服,因?yàn)樗麄兘?jīng)常使用 vi 編輯器(通常是 vim 或 nvim)。bash shell(再說一次,通過 GNU  Readline)可以為我們提供這個(gè)功能。要啟用它,需要執(zhí)行命令 $ set -o vi。

就像魔術(shù)一樣,你現(xiàn)在處于 vi 模式了,現(xiàn)在可以使用 vi 風(fēng)格的鍵綁定來輕松地進(jìn)行編輯,以便復(fù)制文本、刪除文本、并跳轉(zhuǎn)到文本行中的不同位置。這與  Emacs 模式在功能方面沒有太大的不同,但是它在你如何與 shell 進(jìn)行交互執(zhí)行操作上有一些差別,根據(jù)你的喜好這是一個(gè)強(qiáng)大的選擇。

我們來看看先前的例子,但是在這種情況下一旦你在 shell 中進(jìn)入 vi 模式,你就處于 INSERT 模式中,這意味著你可以和以前一樣輸入命令,現(xiàn)在點(diǎn)擊  Esc 鍵,你將處于 NORMAL 模式,你可以自由瀏覽并進(jìn)行文字修改。

看看先前的例子,如果你輸入了 echo "Hello  Wrld!",并意識(shí)到你想跳回一個(gè)單詞(再說一次,用空格分隔的單詞)來修復(fù)那個(gè)打字錯(cuò)誤,那么你可以點(diǎn)擊 Esc 從 INSERT 模式變?yōu)?NORMAL  模式。然后,您可以輸入 B(即 Shift+b),光標(biāo)就能像以前那樣回到前面了。(有關(guān) vi 模式的更多信息,請參閱這里。):

$ echo "Hello Wrld!"               ^         Cursor is here.

現(xiàn)在,對于 vi/vim/nvim  用戶來說,你會(huì)驚喜地發(fā)現(xiàn)你可以一直使用相同的快捷鍵,而不僅僅是在編輯器中編寫代碼或文檔的時(shí)候。如果你從未了解過這些,并且想要了解更多,那么我可能會(huì)建議你看看這個(gè)交互式  vim 教程,看看 vi 風(fēng)格的編輯是否有你所不知道的。

如果你喜歡在此風(fēng)格下與 shell 交互,那么你可以在主目錄中的 ~/.bashrc 文件底部添加下面的行來持久設(shè)置它。

set -o vi

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“l(fā)inux如何在shell中使用vi模式”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

當(dāng)前文章:linux如何在shell中使用vi模式
網(wǎng)頁URL:http://bm7419.com/article2/jdjcoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)定制開發(fā)、面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司