Unix/Linux - vi 編輯器教學
歡迎,有志成為程序員的各位!今天,我們將深入 vi 編輯器的世界,這是一個從 Unix 的黎明時期就存在的強大工具。別擔心如果你從未接觸過命令行——我們將從最基本的開始,逐步學習。到了這個教學的結尾,你將能夠像專業人士一樣編輯文件!
開始使用 vi 編輯器
讓我們從基礎開始我們的旅程。要打開 vi 編輯器,你只需要在終端中輸入 vi
,然後加上文件名。例如:
vi myfile.txt
如果文件不存在,vi 將為你創建它。這不是很棒嗎?就像 vi 在說:"別擔心,我會支持你的!"
編輯模式
現在,我們來看看有趣的部分。Vi 有兩種主要模式:
- 命令模式
- 插入模式
把命令模式當作你的"大本營"。這是你開始的地方,也是你回來執行複製、粘貼和導航等操作的地方。另一方面,插入模式是創作發生的神奇之地。
從命令模式切換到插入模式,請按 i
。要返回命令模式,請按 Esc
鍵。記住這一點——這就像 vi 用戶的秘密握手!
離開 vi
好的,你已經打開了 vi,但怎麼退出呢?別慌張!這裡有一個命令表來幫助你:
命令 | 行為 |
---|---|
:q! | 不保存退出 |
:wq | 保存並退出 |
:x | 保存並退出(與 :wq 相同) |
只需在命令模式下輸入這些命令,你就可以離開了!
在文件中移動
在 vi 中導航可能起初看起來有點複雜,但一旦你掌握了它,你將能夠比說"光標鍵"還要快地在你的文件中穿梭。這裡有一些基本的移動命令:
h - 向左移動
j - 向下移動
k - 向上移動
l - 向右移動
我喜歡記住這些命令,"h" 對於左邊因為它在左邊,"l" 對於右邊因為……嗯,這樣記就對了!
控制命令
Vi 有許多控制命令。這裡有一些來讓你開始:
Ctrl + f : 向前翻頁
Ctrl + b : 向後翻頁
G : 到達最後一行
1G : 到達第一行
編輯文件
現在我們來到了精彩的部分!要開始編輯,記得切換到插入模式,方法是按 i
。然後,隨意輸入。當你完成時,按 Esc
鍵返回命令模式。
刪除字符
在命令模式下,你可以使用以下命令刪除字符:
x : 刪除光標下的字符
dw : 刪除單個單詞
dd : 刪除整行
我曾經不小心用 dd
刪除了一整段。就讓我們這樣說吧,我很快學會了撤銷命令(u
)的重要性!
更改命令
想要改變文字?Vi 會為你提供支持:
cw : 更改單個單詞
cc : 更改整行
C : 從光標更改到行尾
複製和粘貼命令
一旦你知道了命令,在 vi 中複製和粘貼就非常簡單:
yy : 抓取(複製)一行
p : 在光標後粘貼
P : 在光標前粘貼
把 "yy" 想象成 "搶走搶走" ——你正在從那裡搶走那一行!
高級命令
準備好一些高級動作了嗎?試試這些:
. : 重複上一個命令
~ : 改變字符的大小寫
搜索單詞和字符
需要找到什麼東西?使用以下命令:
/pattern : 向前搜索模式
?pattern : 向後搜索模式
n : 在同一方向重複搜索
N : 在相反方向重複搜索
設置命令
Vi 讓你可以設置多種選項。這裡有一些有用的:
:set nu : 顯示行號
:set nonu : 隱藏行號
:set ic : 在搜索中忽略大小寫
執行命令
你可以在不離開 vi 的情況下運行 shell 命令。這不是很酷嗎?
:!command : 執行一個 shell 命令
例如,:!ls
將列出你當前目錄中的文件。
替換文字
需要快速進行大量更改?試試這些:
:s/old/new : 在當前行替換第一個出現的 'old' 為 'new'
:s/old/new/g : 在當前行替換所有出現的 'old' 為 'new'
:%s/old/new/g : 在整個文件中替換所有出現的 'old' 為 'new'
重點注意事項
- Vi 是區分大小寫的。'A' 和 'a' 是不同的命令。
- 永遠要知道你在哪種模式下。如果事情不如預期,你可能是在錯誤的模式下。
- 練習,練習,再練習!Vi 有學習曲線,但一旦你掌握了它,你將能夠以思維的速度進行編輯。
記住,精通 vi 就像學習騎自行車一樣。起初可能會有些晃動,但隨著練習,你將能夠輕鬆地在你的文本文件中穿梭。如果你起初覺得有點不習慣——我們都有過那個時候!
所以,打開你的終端,打開 vi,並開始探索。在你意識到之前,你將會像專業人士一樣進行編輯,用你的命令行技巧讓你的朋友印象深刻。快樂編程!
Credits: Image by storyset