VI 游標移動及常用編輯命令

2021-09-30 11:51:41 字數 1813 閱讀 2866

游標移動

左:h

下:j

上:k

右:l

當前行行首:0

當前行行尾:$

後乙個單詞詞首:w,w

後乙個單詞詞尾:e,e

前乙個單詞詞首:b,b

下半屏:crtl+d

上半屏:crtl+u

向上滾動螢幕: crtl+y

向下滾動螢幕: crtl+e

跳到檔案尾:g

跳到檔案頭:g

當前螢幕首行:h

當前螢幕末行:l

當前螢幕**:m

指定行:行號g,:行號

指定字串前:/字串,?字串

當前行指定字元前:f字元,f字元

文字追加和插入

當前游標右方追加:a

當前游標行尾追加:a

當前游標左方追加:i

當前游標行首追加:i

當前行下方追加行:o

當前行上方插入行:o

文字刪除

刪除游標位置文字:x

刪除游標左方文字:x

刪除當前行:dd

刪除游標移動範圍內的文字:d游標移動命令

文字替換

替換1文字到多文字:s

替換1文字到1文字:r

替換到當前行尾:c

替換當前行:cc

從當前位置開始替換直到輸入esc:r

文字複製和貼上

(例)

複製游標以下3行:3yy,3y

複製游標以後6個單詞:6yw

貼上到游標以下:p

貼上到游標以上:p

通用替換命令

:行1,行2s/字串1/字串2/g

「行1,行2」指定方法例:

第5行到第30行:5,30

當前行到第30行:.,30

第5行到第末尾行:5,$

第5行到含有end的行:5,/end/

所有行:%

其他常用命令

顯示行號

:set number 或者 :set nu

隱藏行號

:set nonumber 或者 :set nonu

自動縮排

:set autoindent 或者 :set ai

不自動縮排

:set noautoindent 或者 :set noai

顯示tab及行尾字元

:set list

隱藏tab及行尾字元

:set nolist

設定tab寬度為4個字元

:set tabstop=4

檢視當前設定

:set all

:dd  刪除當前行

:ndd 刪除當前行以下n行(包括當前行在內)

:p   貼上

:yy  複製當前行

:nyy 複製當前行以下n行(包括當前行在內)

:dd和ndd也可以認為是「剪下」。

:n,m co k  複製n到m行,貼上到k行處(從下一行開始)

:n,m m k   剪下n到m行,貼上到k行處(從下一行開始)

:n,m d     刪除n到m行

注意的是,m必須大於n,而且m、n、k都在正文行號之內。比如說,如果檔案有10行,而你的操作**現了11,就會出現錯誤。m可以用特殊符號$,代表到結尾處。

如果要處理的文字比較多,那麼可以採用標號的方法。具體如下:

游標移到起始行,輸入ma

游標移到結束行,輸入mb

游標移到貼上行,輸入mc

然後 :'a,'b co 'c,就實現了複製貼上。如果把co改為m,就實現了剪下貼上。

g**=^g

g**=g

VI 游標移動及常用編輯命令

游標移動 左 h 下 j 上 k 右 l 當前行行首 0 當前行行尾 後乙個單詞詞首 w,w 後乙個單詞詞尾 e,e 前乙個單詞詞首 b,b 下半屏 crtl d 上半屏 crtl u 向上滾動螢幕 crtl y 向下滾動螢幕 crtl e 跳到檔案尾 g 跳到檔案頭 g 當前螢幕首行 h 當前螢幕...

vi游標移動和簡單編輯

命令模式下 數字 w 2w向後移動2個單詞 包含標點 數字 w 2w向後移動2個單詞 不包含標點 數字 b 2b向前移動2個單詞 包含標點 數字 b 2b向前移動兩個單詞 不包含標點 數字 e 2e向後移動到第二個單詞詞尾 包含標點 數字 e 2e向後移動到第二個單詞詞尾 不包含標點 數字 h j ...

Linux命令 編輯模式移動游標

敲命令按以下順序 vim filename e i esc 移動游標 0 零 將游標移動到行的起始處。將游標移動到行的末尾處。h 將游標移到當前視窗 而非全文 的第一行起始處。m 將游標移到當前視窗的居中一行起始處。l 將游標移到當前視窗的最後一行起始處。gg 將游標移動到文件的開始處 g 將游標移...