學會使用Linux的文本編輯工具vi
什麼是vi?
vi是Linux的文本編輯器,vi編輯器有兩種工作方式,那就是命令模式和文本模式,這兩種模式都可以進行切換,在命令模式下,我們輸入的字元就會被解釋為vi命令,用來執行我們想要操作文本內容的方式,比如替換搜索,插入等等在接下來會講到,當我們切換到文本模式的時候,那麼我們輸入的字元就是以文本本身的內容來作為文件的接收了。正是vi有了命令模式和文本模式,使vi編輯器非常強大,而且它佔用的資源很小,所以vi雖然短小,但且強悍有力。不像某些人,既短小,又無力!
怎麼使用vi?
內容編輯和保存
接下來我就用一個例子,把所有vi常用的使用命令都使用起來。從這個例子中看完會發現,原來vi這麼牛逼,而且這麼好用…
現在,我要打開或創建一個文本myViFile,因為我現在還沒有myViFile這個文件,所以我就用vi來創建一個myViFile文件:
當我按下回車的時候,就進入vi的命令模式裡面去了:
可以看到現在裡面什麼東西都沒有,這時我來往裡寫點東西吧,那麼就用插入命令來切換到文本模式才能往文件裡面寫內容了,按一下 i,就是切換到文本模式,可以看到左下角變成–INSERT–了。
然後我就輸入一段文字:
假設現在我輸入完了,想要保存一下,這時候就可以用 Esc 切換到命令模式(當你按下Esc的時候會發現左下角的 INSERT 消失了,所以這個時候vi是屬於命令模式的),然後輸入 「:w」 然後按回車來保存內容。
如果這個時候想退出vi,那麼我們可以輸入 「:q」退出。
當然了,聰明的你肯定想著說能不能直接保存並退出了,那就用 「:wq」就可以對我們剛剛輸入的內容保存起來並且退出vi了。
現在我們重新打開myViFile文件吧: vi myViFile。然後輸入命令「i」進入文本模式,我們如果不小心把freestyle刪掉了,想要撤回怎麼辦?像這樣:
那就按「Esc」切換到命令模式,然後輸入「u」就可以撤回啦!
我們現在的文本只是一句話,我們想要另起一行繼續書寫,怎麼辦呢? 那麼就鍵入命令「o」,游標就會跳到下一行開始讓我們書寫啦:
接下來要說的就是我們常常會用到的複製粘貼了,這兩個命令分別對應於 「yy/yw」(yy複製整行,yw複製游標所在的單詞) 和 「p」,比如現在我複製最後一行,然後粘貼,那麼在最後一行按Esc切換為命令模式,然後輸入yy,再按p,每按一次p就粘貼一次了:
yw複製單詞和yy同理,這裡就不演示了 - -
我們還可以對一整行刪除,也可以對游標所在的單詞刪除,命令分別對應於「dd」和「dw」。
游標移動
好了 現在我們的文本已經有些內容了,如果我們要對文本裡面的內容進行編輯操作,怎麼樣能高效的使用呢?那麼我們對一些常用的游標移動命令要會使用。
- 「h」「j」「k」「l」 分別是游標向左、上、下、右移動一個字元。
- 「H」「L」分別是游標移動到最頂、末一行。
- 「w」「b」 分別是 向右、左移動一個字。
- 「n+」「n-」分別是向下、上移動n行數。
ok..游標移動就以上這幾個就夠用的了。
搜索替換
當然了,文本編輯器怎麼能沒有搜索替換呢?那麼接下來就對搜索替換進行操作。
我們繼續用剛剛創建的myViFile文件,我們複製第一行的內容到後面粘貼一些,用來演示我們的搜索替換,現在我們的文件內容是這樣的:
現在我們要向下搜索 freestyle這個單詞,那麼就可以用 「?freestyle」:
然後我們按「n」就可以跳到每一個有freestyle的地方了。
接下來我們對內容顯示行號「:set nu」:
如果想把我們游標的當前行的freestyle改為heiheihei就可以這樣「:s/freesyle/heiheihei/g」
可以看到第一行的freestyle就被替換為heiheihei了。
如果我們想替換整個文本的freestyle為heiheihei的話就可以這樣「:1,23s/freestyle/heiheihei/g」,表示從第1行到23行的所有freestyle都換成heiheihei。
推薦閱讀:
※第18篇 它不是人,它是恐豬
※4.說些和自學有關的。
※python圖像模塊——從一張女神圖開始
※學習python是為了讓你更好的玩