vi是Linux/Unix底下最常用的文本編輯器。
假設有這樣一個文本:
The gd software is a library for drafting programs
You are the best is mean you are the no. 1
The world <Happy> is the same with "glad"
I like dog
google is the best tools for search keyword
goooooogle yes
aaswswccsee
命令模式常用命令:
• 光標定位
– M 移動光標到頁面中央 (注意要大寫的)
– L移動光標到頁面尾處
– H移動光標到頁面開始處
– Ctrl+f向後翻頁 也可以用pageup,和pagedown
– Ctrl+b向前翻頁
– 0移動光標到行首 也可以用^
– $移動光標到行尾
• 複製 粘貼 刪除
– nyy 複製光標所在的向下n行內容
假設當前光標在第一行,2yy,將複製
The gd software is a library for drafting programs
You are the best is mean you are the no. 1
– p在光標處粘貼複製的內容
將之前複雜的內容粘貼
– ndd刪除光標所在向下n行的內容
– #x例如3x刪除光標處向右的三個字符
– #yw例如:2yw就是複製兩個單詞
• 撤銷和重複
– u復原前一個動作 (有撤銷之意)
– . 重複前一個動作
–
輸入模式常用命令:
• i和I鍵插入:在目前光標處輸入文字,已存在的文字會向後
• A和a鍵:a爲從目前光標所在的下個字符處開始插入,A爲從光標所在行的最後一個字符開始插入
• O和o:在目前光標所在下一行處插入新的一行.O爲在目前光標所在處的上一行插入新行
• R和r 取代:r會取代光標所在的那個字符:R會一直取代光標所在的文字,直到按下ESC爲止
末尾模式常用命令:
• 退出命令
– :q 退出vi
– :q! 不保存退出
:wq! 保存退出
• 搜索字符串
– 輸入/+要查找的字符串
如:/like 將在文中搜索有like的詞
– 按n鍵重新查找下一個
• 複製
在末尾 :a,by將複製a到b行的數據
– 例如:3,5y複製第三行到第五行內容到緩存區
• shell切換
– :!+shell命令 如 !ls –l 在vi中使用ls命令
– :sp +filename 在同一個vi中編輯兩個文件
• :set nu顯示行號
• :set nonu取消行號
• 替換
• :s/old/new用new替換行中首次出現的old
• : s/old/new/g 用new替換行中所有出現的old
• :#,# s/old/new/g用new替換從第#行到第#行中出現的old
• :% s/old/new/g用new替換整篇中出現的old