成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在shell中使用vi模式

系統(tǒng) Linux 系統(tǒng)運維
作為一名大型開源社區(qū)的參與者,更確切地說,作為 Fedora 項目的成員,我有機(jī)會與許多人會面并討論各種有趣的技術(shù)主題。我最喜歡的主題是“命令行”或者說 shell,因為了解人們?nèi)绾问炀毷褂?shell 可以讓你深入地了解他們的想法,他們喜歡什么樣的工作流程,以及某種程度上是什么激發(fā)了他們的靈感。今天我在這里會為你介紹 shell 中的 vi 模式。

[[187488]]

介紹在命令行編輯中使用 vi 模式。

作為一名大型開源社區(qū)的參與者,更確切地說,作為 Fedora 項目的成員,我有機(jī)會與許多人會面并討論各種有趣的技術(shù)主題。我最喜歡的主題是“命令行”或者說 shell,因為了解人們?nèi)绾问炀毷褂?shell 可以讓你深入地了解他們的想法,他們喜歡什么樣的工作流程,以及某種程度上是什么激發(fā)了他們的靈感。許多開發(fā)和運維人員在互聯(lián)網(wǎng)上公開分享他們的“ dot 文件”(他們的 shell 配置文件的常見俚語),這將是一個有趣的協(xié)作機(jī)會,讓每個人都能從對命令行有豐富經(jīng)驗的人中學(xué)習(xí)提示和技巧并分享快捷方式以及有效率的技巧。

今天我在這里會為你介紹 shell 中的 vi 模式。

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

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

  1. $ echo "Hello World!"
  2. Hello World! 

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

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

  1. $ echo "Hello Wrld!" 
  2.               ^ 
  3.         Cursor is here. 

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

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

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

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

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

  1. $ echo "Hello Wrld!" 
  2.               ^ 
  3.         Cursor is here. 

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

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

  1. set -o vi 

對于 emacs 模式的用戶,希望這可以讓你快速并愉快地看到 shell 的“另一面”。在結(jié)束之前,我認(rèn)為每個人都應(yīng)該使用任意一個讓他們更有效率的編輯器和 shell 行編輯模式,如果你使用 vi 模式并且這篇文章給你展開了新的一頁,那么恭喜你!現(xiàn)在就變得更有效率吧。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2023-01-13 12:37:43

Bashshell花括號

2024-06-13 08:50:16

Macshell 工具命令行工具

2022-11-03 20:38:01

CMD命令Go

2019-05-27 13:30:25

UbuntuSlimbook Ba電源模式

2013-12-13 17:21:14

Lua腳本語言

2023-11-17 12:04:39

GORM并發(fā)

2023-04-12 15:25:09

Bytrace鴻蒙

2009-06-25 16:49:24

Hibernate

2010-03-04 15:28:01

Ubuntu Shel

2011-06-15 10:08:01

Qt CVS

2010-04-29 17:51:40

Unix工具

2023-07-04 16:36:03

Linuxcd 命令

2023-07-23 19:26:18

Linuxcat 命令

2021-03-22 08:45:30

異步編程Java

2023-08-12 15:05:26

Linuxcp 命令

2012-04-19 12:58:26

TitaniumJSS

2009-06-16 09:06:37

JavaMailJSP

2018-03-26 14:25:55

KubernetesSkaffold命令

2022-06-23 09:47:50

混沌工程系統(tǒng)Kubernetes

2023-11-27 19:39:46

Goprotobuf
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品精品久久久 | 久久久影院 | 一级黄色毛片 | 懂色av一区二区三区在线播放 | av夜夜操| 日韩在线一区二区三区 | 日韩高清成人 | 亚洲欧美日韩网站 | 亚洲精品电影 | 国产成人精品一区二 | 免费av直接看 | 91久久精品一区二区二区 | 国产精品波多野结衣 | 91在线视频国产 | 日韩av.com| 美女国产 | 亚洲国产视频一区二区 | 国产日韩一区二区三免费高清 | 天堂一区 | 欧美日韩成人在线 | 精品日本久久久久久久久久 | 九色91视频 | 欧美综合一区 | 欧美日一区 | 91视视频在线观看入口直接观看 | 羞羞视频网站免费观看 | 免费视频一区二区 | 激情五月激情综合网 | 毛片黄片 | 一级黄色片网站 | 国产欧美精品一区二区 | 亚洲精品毛片av | 久久久久久久久久久蜜桃 | 久久国产精品免费视频 | 欧美色性| 在线亚洲人成电影网站色www | av三级| 久久里面有精品 | 久久久久久高潮国产精品视 | 国产日韩欧美在线观看 | 午夜一级黄色片 |