天天看點

vi删除操作介紹

vi功能實在是強大,光删除操作,就有如此多不同的方法完成不同的任務

:%s/r//g 删除DOS方式的回車^M

:%s= *$== 删除行尾空白

:%s/^(.*)n1/1$/ 删除重複行

:%s/^.pdf/new.pdf/ 隻是删除第一個pdf

:%s/<!--_.-->// 又是删除多行注釋(咦?為什麼要說「又」呢?)

:g/^s*$/d 删除所有空行 :g/^s*$/d 删除所有空行

:g!/^dd/d 删除不含字元串'dd'的行

:v/^dd/d 同上 (譯釋:v == g!,就是不比對!)

:g/str1/,/str2/d 删除所有第一個含str1到第一個含str2之間的行:v/./.,/./-1join 壓縮空行

:g/^$/,/./-j 壓縮空行

ndw 或 ndW 删除光标處開始及其後的 n-1 個字元。

d0 删至行首。

d$ 删至行尾。

ndd 删除目前行及其後 n-1 行。

x 或 X 删除一個字元。

Ctrl+u 删除輸入方式下所輸入的文本。

^R 恢複u的操作

J 把下一行合并到目前行尾

V 選擇一行

^V 按下^V後即可進行矩形的選擇了

aw 選擇單詞

iw 内部單詞(無空格)

as 選擇句子

is 選擇句子(無空格)

ap 選擇段落

ip 選擇段落(無空格)

D 删除到行尾

x,y 删除與複制包含高亮區

dl 删除目前字元(與x指令功能相同)

d0 删除到某一行的開始位置

d^ 删除到某一行的第一個字元位置(不包括空格或TAB字元)

dw 删除到某個單詞的結尾位置

d3w 删除到第三個單詞的結尾位置

db 删除到某個單詞的開始位置

dW 删除到某個以空格作為分隔符的單詞的結尾位置

dB 删除到某個以空格作為分隔符的單詞的開始位置

d7B 删除到前面7個以空格作為分隔符的單詞的開始位置

d) 删除到某個語句的結尾位置

d4) 删除到第四個語句的結尾位置

d( 删除到某個語句的開始位置

d) 删除到某個段落的結尾位置

d{ 删除到某個段落的開始位置

d7{ 删除到目前段落起始位置之前的第7個段落位置

dd 删除目前行

d/text 删除從文本中出現“text”中所指定字樣的位置,

一直向前直到下一個該字樣所出現的位置(但不包括該字樣)之間的内容

dfc 删除從文本中出現字元“c”的位置,一直向前直到下一個該字元所出現的位置(包括該字元)之間的内容

dtc 删除目前行直到下一個字元“c”所出現位置之間的内容

D 删除到某一行的結尾

d$ 删除到某一行的結尾

5dd 删除從目前行所開始的5行内容

dL 删除直到螢幕上最後一行的内容

dH 删除直到螢幕上第一行的内容

dG 删除直到工作緩存區結尾的内容

d1G 删除直到工作緩存區開始的内容

....

繼續閱讀