Linux的VI (連線行,查詢和替換,多檔案編輯)

Pruett發表於2018-06-27

1.VI對行的概念相當嚴格,通常不可能把游標移到行尾,再刪除行尾結束符(回車符)來連線當前行和它下面的一行,VI提供一個特定的命令,大寫的J用來將行和行連線起來. 小寫的 j 用來移動游標.
2.查詢和替換
查詢一行
使用f命令查詢一行,移動游標到下一個所指定的字元上.

fa //在同一行中找下一個出現a的位置,通過分號來重複這個查詢   ,
//只能單個字查詢,可以查詢中文

查詢全文,的短語
移動游標到下一個出現的單詞或短語上,使用 / 命令。這個命令和我們之前在 less 程式中學到 的一樣。當你輸入/命令後,一個”/”字元會出現在螢幕底部。下一步,輸入要查詢的單詞或短語後, 按下回車。通過n來繼續查詢

替換
vi使用ex命令來執行查詢和替代操作,把檔案中的單詞”Line” 更改為”line” ,輸入一下命令:

 :%s/Line/line/g
條目 含義
: 冒號字元執行一個 ex 命令。
% 指定要操作的行數。% 是一個快捷方式,表示從第一行到最後一行。另外,操作範圍也可以用 1,5 來代替(因為我們的檔案只有5行文字),或者用 1,$ 來代替,意思是 “ 從第一行到檔案的最後一行。” 如果省略了文字行的範圍,那麼操作只對當前行生效。
s 指定操作。在這種情況下是,替換(查詢與替代)。
/Line/line 查詢型別與替代文字。
g 這是“全域性”的意思,意味著對文字行中所有匹配的字串執行查詢和替換操作。如果省略 g,則 只替換每個文字行中第一個匹配的字串。

在g後面新增一個c用來在確認的時候進行確認
替換確認按鍵

按鍵 行為
y 執行替換操作
n 跳過這個匹配的例項
a 對這個及隨後所有匹配的字串執行替換操作。
q or esc 退出替換操作。
l 執行這次替換並退出。l 是 “last” 的簡寫。
Ctrl-e, Ctrl-y 分別是向下滾動和向上滾動。用於檢視建議替換的上下文。

3.編輯多個檔案

vi file1 file2 file3

4.檔案間的轉換
使用ex命令

:n //裝換到下一個檔案
:N  //轉換到上一個檔案
:buffers //顯示出正在編輯的檔案列表
:Buffer 緩衝區號碼  //切換檔案

5.將一個檔案複製內容到另一個檔案
使用複製,然後開啟另一個檔案,貼上過去就可以啦
6.插入整個檔案到另一個檔案
在指定行上,使用ex命令

:r foot.txt //要貼上進來的檔案

7.儲存工作
-在命令模式下 使用ZZ就會儲存退出,
-使用ex命令, :wq 儲存退出
:w命令也可以指定可選的檔名, 類似於 save as ,儲存一個副本

:w foo1.txt

注意:當上面的命令以一個新名字儲存檔案時,但它並沒有更改你正在編輯的檔案的名字。 如果你繼續編輯的話,你還是在編輯檔案 foo.txt,而不是 foo1.txt。

相關文章