天天看點

Linux系統vi(vim)文本編輯器3中模式使用方法

一.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
  • ~       :大小寫轉換,隻轉換光标處字元

繼續閱讀