一.Linux系統vi(vim)文本編輯器
類unix系統内置的文本編輯器
vim是vi的增強版,(vim不是内置的)
1.1基本操作
vi 檔案
如:vi a.txt
1.2vi編輯器3中模式
指令模式(command mode)、或者叫一般模式
插入模式(insert mode)、或者叫編輯模式
底行模式(last line mode)、或者叫指令行模式
注釋:直接通過(vi/vim 檔案名)打開檔案,預設進入指令模式,按A/I/O進入編輯模式,保持退出需要切換到底行模式(按esc從編輯模式切換到指令模式,然後指令模式輸入“:”進入底行模式,在底行模式下輸入wq,保持并退出,輸入q!強制退出(不保持))
1.3指令模式下的常見指令
光标指令
- 字元移動:↑↓←→鍵移動, h←j↓k↑l→鍵也是逐個字元移動
- 單詞移動:
w:安照單詞的首字母向後移動,不忽略标點符号
W:安裝單詞的首字母向後移動,忽略标點符号
b:按照單詞的首字母向前移動,不忽略标點符号
B:按照單詞的首字母向前移動,忽略标點符号
e:按照單詞末尾字母向後移動,不忽略标點符号
E:按照單詞末尾字母向後移動,忽略标點符号
- 整句移動(句子辨別“.”):
):整句向後移動
(:整句向前移動
- 整段移動(段落表示空行):
{:整段向前移動
}:整段向後移動
- 移動到開始、結尾和中間:
gg:移動到開始
G:移動到結尾
H:螢幕頂端
L:螢幕底端
M:移動到中間
- 在行中移動:
0:整行的開始
$:整行的結束
- 最強光标移動:
% : 比對括号移動,包括(, {, [.(你需要把光标先移到括号上)
*: 比對光标目前所在的單詞,移動光标到下一個比對單詞
#: 比對光标目前所在的單詞,移動光标到上一個比對單詞
基本操作
- a(A):光标後一位插入内容(在光标所在行的末尾插入内容)
- i(I):光标前一位插入内容(在光标所在行的最前面插入内容)
- o(O):在光标的下一行插入内容(在光标所在行插入,同時将光标所在行之後的内容下移一行)
- dd : 删除光标所在行
- 3dd :删除從目前行開始的3行
- yy :複制光标所在行
- 3yy :複制從目前行開始的3行
- p : paste 粘貼
- u :undo 撤銷
1.4底行模式下的常見指令
搜尋
- :set nu :顯示行号
- :set nonu :不顯示行号
- :num :跳轉到num行
- :/單詞 :尋找單詞,多個單詞時用n向後尋找,N向前尋找。(用vim高亮顯示)
- :noh :取消高亮顯示
替換
- :開始行,結束行 s/舊字元串/新字元串/g
- :1 s/http/https :表示替換第一行中的第一個http為https
- :1 s/http/https/g :表示替換第一行中的所有http為https
- :1,4 s/http/https/g :表示替換第1行到第4行中的所有http為https
- :. s/http/https/g :表示替換光标所在行中的所有http為https
- :.,.+2 s/http/https/g :表示替換光标所在行及到後面2行中的所有http為https
- :.,$ s/sad/bbb :将光标行到緩沖區最後一行的sad替換為bbb
- :s/sad/bbb :查找光标所在行的第一個sad,替換為bbb
- :s/sad/bbb/g :查找光标所在行的所有sad,替換為bbb
- :% s/sad/bbb :查找檔案中所有行第一次出現的sad,替換為bbb
- :% s/sad/bbb/g :查找檔案中所有的sad,替換為bbb
1.5其他小技巧
- r : 替換光标處一個字元
- R :進入替換模式,從光标處連續替換
- s :删除目前字元,進入插入模式
- S : 删除目前行,進入插入模式
- f + s :光标行内向後查找第一個出現的字元s
- F + s :光标行内向前查找第一個出現的字元s
- ~ :大小寫轉換,隻轉換光标處字元