Vi刪除操作大全
阿新 • • 發佈:2019-02-02
:%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 == 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 刪除直到工作快取區結尾的內容
:%s= *$== 刪除行尾空白
:%s/^(.*)n1/1$/ 刪除重複行
:%s/^.{-}pdf/new.pdf/ 只是刪除第一個pdf
:%s/<!--_.{-}-->// 又是刪除多行註釋(咦?為什麼要說「又」呢?)
: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 刪除直到工作快取區結尾的內容