vi 三種模式
一般指令模式 ,編輯模式,指令行模式
一般指令模式可與編輯模式及指令行模式切換,編輯模式與指令行模式不可切換
一般指令行模式按鍵說明
移動光标的方法
@ 移動一個字元:hjkl或上下左右箭頭
@ 移動多個字元:數字 + 【hjkl或上下左右箭頭】
@ 移到本行首尾:0 $ 或者 [home] [end]
@ 移到本檔案第一行,第N行,最後一行:gg(1G), nG, G
@ 向下移動n行:n[enter]
ps: n配合向下或向上移動多行,配合enter向下移動多行
查找與替換
@ 查找word字元串,并接着找: /word , n往下接着找,N往上找
@ 将word1替換為word2:
- n1行到n2行找:n1,n2s/word1/word2/g
- 第1行到最後一行找:1,$s/word1/word2/g
- 第1行到最後一行找,替換前需要确認:1,$s/word1/word2/gc
删除、複制與粘貼
@向後删除一個字元:x
@向後删除n個字元:nx
@删除本行:dd
@删除向下n行: ndd
@删除光标到行首行末的字元: d0, d$,
@删除光标到第一行,最後一行的資料:d1G, dG
@複制本行:yy
@複制向下n行: nyy
@複制光标到行首行末的字元: y0, y$,
@複制光标到第一行,最後一行的資料:y1G, yG
@将複制的資料在光标下一行粘貼:p
@恢複前一個操作:u
@重做上一個操作:[ctrl]+r , .
ps: ctrl和r 或者點選小數點是一樣的效果。
一般指令行模式進入編輯模式
@從光标所在處插入:i
@從光标下一個字元處開始插入:a
@下一行插入新行:o
@替換光标所在字元一次:r
@一直替換光标所在的文字直到按下esc: R
一般指令行模式進入指令行模式
@寫入: :w
@強制寫入: :w!
@退出: :q
@強制退出: :q!
@儲存後退出: :wq
@強制儲存退出: :wq!
@将編輯的資料另存為一個檔案: :w [filename]
@在編輯的資料中讀入另一個檔案的資料: :r [filename]