1. 程式人生 > >Vi刪除操作大全

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                         刪除直到工作快取區結尾的內容