vim中删除技巧--Ubuntu小笔记

vim中删除技巧

:%s/[Ctrl-v][Enter]//g         删除DOS方式的回车^M
:%s= *$==                      删除行尾空白
:%!sort -u                     删除重复行
:%s/^.{-}pdf/new.pdf/          只是删除第一个pdf
:%s///                         删除多行注释
:g/^$/d                        删除全部空行 
:g!/^dd/d                      删除不含字符串'dd'的行
:v/^dd/d                       删除不含字符串'dd'的行
:g/str1/,/str2/d               删除全部第一个含str1到第一个含str2之间的行
:v/./.,/./-1join               压缩空行
:g/^$/,/./-j                   压缩空行
ndw 或 ndW                     删除光标处开始及其后的 n-1 个字符。
d0                             删至行首。
d$                             删至行尾。
ndd                            删除当前行及其后 n-1 行。
x 或 X                         删除一个字符。
Ctrl+u                         删除输入方式下所输入的文本。
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                            删除直到工做缓存区开始的内容
ci{                            删除修改光标所在的{}中的全部内容,change in { 的简写
ca{                            删除修改光标所在的{}中的全部内容,包括{}
ci"                            删除修改光标所在的""中的全部内容,change in " 的简写
ca"                            删除修改光标所在的""中的全部内容,包括{}
ci(                            删除修改光标所在的()中的全部内容,change in ( 的简写
ca(                            删除修改光标所在的()中的全部内容,包括{}

vim一个远程文件

vim scp://username@host//path/to/somefile