vi-vim :删除、撤销、恢复删除、复制删除
删除
1 删除命令
vi命令 |
操作键 |
x |
删除当前光标处的字符 |
X |
删除光标左边的字符 |
D |
删除从当前光标到本行末尾的字符 |
J |
删除两行之间的换行符 (亦可用于合并两行) |
dmove |
删除从当前光标到move所给位置的字符 |
dd |
删除当前行 |
ex命令 |
|
:lined |
删除指定行 |
:line,lined |
删除指定范围内的行 |
2 常用的删除组合命令
说明:操作符命令+位移命令
1 nx 删除多个字符(n为删除的字符个数)
2 dw 删除1个单词
3 d10w 删除10个单词
4 d10W 删除10个单词,忽略标点符号。
5 db 向后删除一个单词
6 d2) 删除两个句子
7 d5} 删除5个段落
8 dG 或 :.,$d 删除当前行到编辑缓冲区末尾的所有行
9 dgg 或 d1G 或:1,.d 删除当前行到编辑缓冲区开头的所有行
10 :1,$d 或 :%f 删除整个编辑缓冲区
11 d/word 删除从光标所在位置到单词word的所有文本
12 .,/word/d 删除从光标所在位置到单词word的所有文本
13 df x 删除至当前行中x所在的位置
14 d^ 删除至该行的开始处
15 :g/^$/d 删除文件中所有空行
3插入模式中删除操作
^U 删除当前行
^H 删除前一个字符
^W 删除前一个词
4 撤销或重复改变
vi命令:
1 u 撤销上一命令对编辑缓冲区的修改
2 U 恢复当前行(即一次撤销对当前行的全部操作)
3 .点号 重复上一命令对编辑缓冲区的修改
5 恢复删除
语法:"1p(P)
说明:
1 1为缓冲区的编号。
2 p在当前行的下面插入,P在当前行的上面插入。
6 复制上一次删除
命令 |
说明 |
p |
复制上一次删除的内容,插入到光标的后面/下面 |
P |
复制上一次删除的内容,插入到光标的前面/上面 |
7其它有用的一些删除
删除行尾多个空格 : :%s/\s\+$//g
删除行首多个空格 : :%s/^\s*//g
删除重复行: :%s/^(.*)n1/1$/
删除所有中文: :%s/\v[^\x00-\xff]+//g
删除所有数字: :%s/\d//g