天天看點

vi 删除操作大全

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

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

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

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

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

:g/s*^$/d                    删除所有空行 :這個好用有沒有人用過還有其他的方法嗎?

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

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

:g/str1/,/str2/d              删除所有第一個含str1到第一個含str2之間的行 

:v/./.,/./-1join                壓縮空行 

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

ndw 或&nbspndW              删除光标處開始及其後的&nbspn-1 個字元。 

d0                          删至行首。 

d$                          删至行尾。 

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

x 或&nbspX                  删除一個字元。 

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                        删除直到工作緩存區開始的内容  

繼續閱讀