vim删除文本的命令

 x    删除光标下的字符("dl" 的缩写)
 X    删除光标前的字符 ("dh" 的缩写)
 D    从当前位置删除到行尾 ("d$" 的缩写)
 dw    从当前位置删除到下一个单词开头
db    从当前位置删除到前一个单词的开头
diw    删除光标上的单词 (不包括空白字符)
daw    删除光标上的单词 (包括空白字符)
dG    删除到文件末
dgg    删除到文件首
dl    删除字符 (缩写: "x")            |dl|
diW   删除内含字串 (见 |WORD|)        *diW*
daW   删除一个字串 (见 |WORD|)        *daW*
dd   删除一行                |dd|
dis    删除内含句子                *dis*
das    删除一个句子                *das*
dib   删除内含 '(' ')' 块            *dib*
dab    删除一个 '(' ')' 块            *dab*
dip    删除内含段落                *dip*
dap        删除一个段落                *dap*
diB   删除内含 '{ ' ' }' 大块            *diB*
daB   删除一个 '{ ' ' }' 大块            *daB
:%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 行。 
Ctrl+u 删除输入方式下所输入的文本。 
^R 恢复u的操作 
J 把下一行合并到当前行尾 
V 选择一行 
^V 按下^V后即可进行矩形的选择了 
aw 选择单词 
iw 内部单词(无空格) 
as 选择句子 
is 选择句子(无空格) 
ap 选择段落 
ip 选择段落(无空格) 
x,y 删除与复制包含高亮区 
dl 删除当前字符(与x命令功能相同) 
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 删除直到工作缓存区开始的内容      



s删除光标当前字符,进入插入模式,等同于 x i 
S删除当前行 进入插入模式,等同于 dd i 
c change 同样是替代插入,不过c要与其他指令配合使用 
如 cw 删除一个单词后i , 
ciw 删除词后进入i
c$ =C = D i 删除光标位置到行末后i 
cc= S 
d$= D 
使用 yaw 命令复制当前光标所在单词

参考资料

VIM经典删除命令大全