您好,登錄后才能下訂單哦!
這篇文章主要介紹了linux如何在shell中使用vi模式,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在計算和操作系統的龐大生態系統中有很多 shell。然而,在 Linux 世界中,bash 已經成為事實上的標準,并在在撰寫本文時,它是所有主要 Linux 發行版上的默認 shell。因此,它就是我所說的 shell。需要注意的是,bash 在其他類 UNIX 操作系統上也是一個相當受歡迎的選項,所以它可能跟你用的差別不大(對于 Windows 用戶,可以用 cygwin)。
在探索 shell 時,首先要做的是在其中輸入命令并得到輸出,如下所示:
$ echo "Hello World!"Hello World!
這是常見的練習,可能每個人都做過。沒接觸過的人和新手可能沒有意識到 bash shell 的默認輸入模式是 Emacs 模式,也就是說命令行中所用的行編輯功能都將使用 Emacs 風格的“鍵盤快捷鍵”。(行編輯功能實際上是由 GNU Readline 進行的。)
例如,如果你輸入了 echo "Hello Wrld!",并意識到你想要快速跳回一個單詞(空格分隔)來修改打字錯誤,而無需按住左箭頭鍵,那么你可以同時按下 Alt+b,光標會將向后跳到 W。
$ echo "Hello Wrld!" ^ Cursor is here.
這只是使用提供給 shell 用戶的諸多 Emacs 快捷鍵組合之一完成的。還有其他更多東西,如復制文本、粘貼文本、刪除文本以及使用快捷方式來編輯文本。使用復雜的快捷鍵組合并記住可能看起來很愚蠢,但是在使用較長的命令或從 shell 歷史記錄中調用一個命令并想再次編輯執行時,它們可能會非常強大。
盡管 Emacs 的鍵盤綁定都不錯,如果你對 Emacs 編輯器熟悉或者發現它們很容易使用也不錯,但是仍有一些人覺得 “vi 風格”的鍵盤綁定更舒服,因為他們經常使用 vi 編輯器(通常是 vim 或 nvim)。bash shell(再說一次,通過 GNU Readline)可以為我們提供這個功能。要啟用它,需要執行命令 $ set -o vi。
就像魔術一樣,你現在處于 vi 模式了,現在可以使用 vi 風格的鍵綁定來輕松地進行編輯,以便復制文本、刪除文本、并跳轉到文本行中的不同位置。這與 Emacs 模式在功能方面沒有太大的不同,但是它在你如何與 shell 進行交互執行操作上有一些差別,根據你的喜好這是一個強大的選擇。
我們來看看先前的例子,但是在這種情況下一旦你在 shell 中進入 vi 模式,你就處于 INSERT 模式中,這意味著你可以和以前一樣輸入命令,現在點擊 Esc 鍵,你將處于 NORMAL 模式,你可以自由瀏覽并進行文字修改。
看看先前的例子,如果你輸入了 echo "Hello Wrld!",并意識到你想跳回一個單詞(再說一次,用空格分隔的單詞)來修復那個打字錯誤,那么你可以點擊 Esc 從 INSERT 模式變為 NORMAL 模式。然后,您可以輸入 B(即 Shift+b),光標就能像以前那樣回到前面了。(有關 vi 模式的更多信息,請參閱這里。):
$ echo "Hello Wrld!" ^ Cursor is here.
現在,對于 vi/vim/nvim 用戶來說,你會驚喜地發現你可以一直使用相同的快捷鍵,而不僅僅是在編輯器中編寫代碼或文檔的時候。如果你從未了解過這些,并且想要了解更多,那么我可能會建議你看看這個交互式 vim 教程,看看 vi 風格的編輯是否有你所不知道的。
如果你喜歡在此風格下與 shell 交互,那么你可以在主目錄中的 ~/.bashrc 文件底部添加下面的行來持久設置它。
set -o vi
感謝你能夠認真閱讀完這篇文章,希望小編分享的“linux如何在shell中使用vi模式”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。