vi是一個古老而有名的編輯器了,儘管如今有現代的編輯器,不過彷佛仍然有學習vi的必要,一來是方便,Linux和Mac默認都會安裝。其次顯得比較專業。程序員
個人目標是簡短地介紹天天會用到東西,好了閒話很少說,進入正題。正則表達式
vi play.txt
編輯器
強制退出::q!
保存退出::wq
學習
一開始vi彷佛難以理解,也許都不知道怎麼退出。理解了兩個模式就簡單了,命令模式和編輯模式。剛啓動的時候是命令模式,i就切換到編輯模式,ESC按鍵切換到命令模式。spa
命令我理解有兩種,底行命令用:
開頭,會顯示在底部。操做文本的經常使用命令就直接輸入。有的書介紹是三種模式,我這裏統一成兩種模式,都是命令。3d
下圖引自《Vim經常使用基礎命令》,參考。
code
除了輸入文本外,一般是在命令模式下,適應了就很簡單了。rem
i進入編輯模式,就能夠輸入了,光標按鍵也是能夠的。很簡單吧。get
刪除行:命令模式下,dd
。3dd
就刪除3行。it
到此就能夠簡單使用vi了。
文件頭:gg
文件尾: G
段移動:^f
, ^b
行頭:0
, g0
行尾: $
, g_
好了,就這麼多了,幾個命令須要操做適應一下。
查找::/example
, n繼續下一個。?example
,/example
也能夠的。由此能夠看出:,/,?三個符號均可以開啓底行命令。
替換: :s/old/new
全文替換::%s/old/new/g
, 注意末尾的g,這個實際是正則表達式。
逐個替換,這個比較麻煩點,具體的命令可按以下順序執行:
/which 查找
cwwhat[ESC] chang word
n 下一個,無需替換
n 繼續下一個,須要修改
. 點是用來重複上一次操做,即cwwhat[ESC]
粘貼:p
複製:yy
, yank,大概是快的意思吧。
undo: u
redo: U
,^r
v
進入塊狀態,國標按鍵就能夠選擇塊了。d就能夠刪除塊了。^v
是列塊。
^v
選好列塊後,I, 注意是大寫,輸入#,而後兩次ESC,就能夠塊註釋了。
反註釋,一樣選好列塊,d就能夠了。
固然,這個不如現代編輯器的一鍵操做方便,不過vi的靈活性是其餘編輯器沒法比的。
我只介紹了基本的操做,命令都是英語單詞首字母,容易記憶,多用就熟了。
更多高級的,等我有了體會再寫吧。
請拍磚或者補充。