vi是最強大的文本編輯器,沒有之一。盡管 vi已經是古董級的軟體,但還是有無數新人迎着困難去學習使用,可見其經典與受歡迎程度。
無論是小說中還是電視劇,真正強大的武器都不容易駕馭,需要付出一些努力才能收獲到更加強大的力量,對于vi這種上古神器來說更是如此。由于它全程使用鍵盤操作,很多首次接觸 vi的人會覺得不習慣而中途放棄。然而,堅持下來的朋友就會漸漸地發現這種鍵盤操作的設計絕妙之處!經典之是以能成為經典,必然有它的道理,不用解釋太多。
觀察一個程式員對vi的熟練程度,可以判斷它的技術水準,如果他對vi不熟悉,就肯定不是Linux平台下的程式員,說vi不好用的人也肯定不熟悉vi,沒有例外。
vi 有兩種模式,指令行模式和編輯模式,在指令行模式下,任何鍵盤輸入都是指令,在編輯模式下,鍵盤輸入的才是字元。
打開一個檔案: vi 檔案名,如果檔案不存在,就建立檔案。
Esc 從編輯模式切換到指令行模式
i 從光标所在字元前插入
a 從光标所在的字元後面插入
o 從光标所在行的下面插入空白行
O 從光标所在行的上面插入空白行
I 從光标所在行的行首插入
A 從光标所在行的行末插入
k 類似方向鍵上
j 類似方向鍵下
h 類似方向鍵左
l 類是方向鍵右
Ctrl+u 向上移動半頁
Ctrl+d 向下移動半頁
gg 光标跳到文本的第一行
G 光标跳到文本最後一行
0 光标跳到所在行的行首
$ 光标跳動到所在行的行尾
w 光标跳到下個單詞的開頭
b 光标回到上個單詞的開頭
e 光标回到本單詞的尾部
x 每按一次,删除光标所在位置的一個字元
nx 如"3x"表示删除光标所在位置開始的3個字元
dw 删除目前光标所在的單詞
dd 删除光标所在行
ndd 如"3dd"表示删除光标所在行開始的3行字元
yy 将光标所在行複制到緩沖區
nyy 将光标所在n行複制到緩沖區
p 将緩沖區裡的内容寫到光标所在位置
r 替換光标所在處的字元 replace
R 替換光标所在處的字元,直到按下"Esc"為止
cw 開始替換目前光标所在的單詞,直到按下"Esc"為止
u 撤銷指令,可多次撤銷
J 把目前行的下一行接到目前行的尾部
Ctrl+g 列出檔案一共有多少行
nG 表示移動光标到檔案的第n行行首
/abcd 在目前打開的檔案中查找“abcd”文本内容
n 查找下一個
N 查找上一下
. 重複執行上一次執行的vi指令。
~ 對光标目前所在的位置的字元進行大小寫轉換。
:5回車 光标跳到第5行。
:n回車 光标跳到第n行。
:w回車 存盤
:w!回車 強制存盤
:wq回車 存盤退出
:x回車 存盤退出
:q回車 不存盤退出
:q!回車 不存盤強制退出
:g/aaaaaaaaa/s//bbbbbb/g回車 把檔案中全部的aaaaaaaaa替換成bbbbbb
Ctl+insert 複制滑鼠選中的文本,相當于Ctl+c
Shift+insert 輸出滑鼠選中的文本,相當于Ctl+v
以上兩個指令在windows和UNIX中是通用的。
版權聲明
C語言技術網原創文章,轉載請說明文章的來源、作者和原文的連結。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道
如果這篇文章對您有幫助,請點贊支援,或在您的部落格中轉發我的文章,謝謝!!!
如果文章有錯别字,或者内容有誤,或其他的建議或意見,請您留言指正,非常感謝!!!