vim 快速删除指定的一段字符

回复 收藏
因为不是一行,所以用dd不行,但用x去删除的话,又太慢。今天从网上发现一种特别快速删除的方法。
那就是使用da,如何使用,请看下面的例子。
比如,我的1.txt内容如下:

11111111111111111111111111
222222222222222222222222222222B3NzaC1yc2EAAAABIwAAAQEAv5oJvuIdaaVUsDOA2FbfnL0K2GbTc05Yg6TGM+8SNleI6bU5MhAy2uP5J4yCrMu43911hEJ2uh1UPycWX1O4xpEgUm8TGIs1HoQySnukv3g121uOLACRj37qqL9j4RRhrUxhunAW3alLSGIV0mxFD0ApyycFoLA/1I3hU7Yyx7tdripwz0FeHHhT3Qjfe9yC8Z6Ptq7cvBPXBBvc/G8pXVq3bnGMtj9Ifmbh7NnTvfHnEZGacf2MR4FSy0MMuNL0k3X5sBlsyP9/rXY9CPOh73eKUhZQoK3uWjwuDRp/dqrxgWDVeg0NZ+0t130pKu/LSREothWoVBu54rrtUUIdb3Sq0xsW4x9EhKGJJHPvBrbGbiDPTKBUaHdQEfmQQPAWeeX1hMC7lCunnfgTzf39Pv/2VpXz2l8NH2Jem0nrS48A6sf4eFz5VIakoRySMQu/6mY4s9aU3arbX+JvUE9s2/7D+JdqJlINtQqRU4V92LQq3BJaSMmKiwnPSytxDtARI3+8I2XXqFCJ5bBY7e3333333333333333333333
44444444444444444444444444444
我现在想删除22222222222和33333333333333333之间的字符只需要这样做:
1.  把1.txt的内容改成:
11111111111111111111111111
222222222222222222222222222222{B3NzaC1yc2EAAAABIwAAAQEAv5oJvuIdaaVUsDOA2FbfnL0K2GbTc05Yg6TGM+8SNleI6bU5MhAy2uP5J4yCrMu43911hEJ2uh1UPycWX1O4xpEgUm8TGIs1HoQySnukv3g121uOLACRj37qqL9j4RRhrUxhunAW3alLSGIV0mxFD0ApyycFoLA/1I3hU7Yyx7tdripwz0FeHHhT3Qjfe9yC8Z6Ptq7cvBPXBBvc/G8pXVq3bnGMtj9Ifmbh7NnTvfHnEZGacf2MR4FSy0MMuNL0k3X5sBlsyP9/rXY9CPOh73eKUhZQoK3uWjwuDRp/dqrxgWDVeg0NZ+0t130pKu/LSREothWoVBu54rrtUUIdb3Sq0xsW4x9EhKGJJHPvBrbGbiDPTKBUaHdQEfmQQPAWeeX1hMC7lCunnfgTzf39Pv/2VpXz2l8NH2Jem0nrS48A6sf4eFz5VIakoRySMQu/6mY4s9aU3arbX+JvUE9s2/7D+JdqJlINtQqRU4V92LQq3BJaSMmKiwnPSytxDtARI3+8I2XXqFCJ5bBY7e}3333333333333333333333
44444444444444444444444444444
注意,2222 和{ 之间没有换行。
2.  把光标移动到第一个{,也就是最后一个2后,然后输入da{ 即可把{}内的字符全部删除。

另外,除了可以使用{ 外,还可以使用 ", ', (  等成对的特殊符号。

其实vim还有一个比较常用的那就是v了,用v和d来删除也挺方便的:
打开一个文本后,直接按v,然后移动光标可以选中文本,当选中完你想要的文本后,直接按d,就删除了。
2011-10-09 11:03 举报
已邀请:
0

lyhabc

赞同来自:

非常受用
0

赞同来自:

{:4_91:}
0

summer123

赞同来自:

学习了.好东西
0

15727001301

赞同来自:

学习了
0

奋斗的种子

赞同来自:

感觉还是没有可视化模式下删除好用。
0

杭州小白

赞同来自:

da v+d
0

zyos

赞同来自:

貌似我光标在{这个位置。 直接按dd也能把 {} 里面的内容删除  包括{}符号
0

369666951

赞同来自:

好东西  ,v和d非常好用
0

369666951

赞同来自:

直接用v也可以 很方便
0

linux-小莫

赞同来自:

这个不错
0

linux-小莫

赞同来自:

这个不错
0

521

赞同来自:

0

yonself

赞同来自:

这边内容的断义符是不是只有LF呢,怎么复制过去光标移动不到33的位置,da也没有用
0

讯风

赞同来自:

学习了
0

Nyemu

赞同来自:

好东西!
0

18719051278

赞同来自:

马克
0

18719051278

赞同来自:

好用!
0

liqian

赞同来自:

这东西不错
0

善思致用

赞同来自:

这两天看到好多的vim特殊用法,还有比vim用法更多的指令吗
0

标哥

赞同来自:

学习了,一开始没有成功
一定要注意da{
首先光标定位到正确位置。其次要在命令行模式, 最后 输入 da{     就可以啦。
0

lovelisa

赞同来自:

这里是否有“段落”的意思呢,那我只要在33......前面插入空行,将光标定位到B,按d}就行了撒。

0

辅导老师-李贺飞

赞同来自:

未标题-1.jpg

多次尝试不成功i_f08.gif

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: