在Vim中删除一段文本
所以我可以使用dd(普通模式)删除文本+行,并且所有下面的文本向上移动一行。
我可以使用Ctrl + v进入可视模式
如果我然后说0
> C+v
> jjj
> $
> d
,4行的文本被删除,但行不会被删除。
如何删除一段文本并同时删除这些行,以便任何前面的文本行移动到光标处?
对于像这样的东西,我通常使用shift + v,jjj ... d,但是也可以使用文本对象来删除。
请参阅:h text-object
。 几个例子:
di"
- 删除里面的"
dap
- 删除段落
你当然可以使用除d
之外的其他命令,比如c
或v
。
我一直使用的东西是ci(
和ci"
用于编辑内部()
和""
。
使用文本对象和视觉模式的更酷的例子可以在这里找到:
Vim最有效的捷径是什么?
你也可以使用,例如4dd
提到的4dd,或Jens提到的范围。 然而在大多数情况下,我个人认为使用视觉线(shift + v)更加灵活,并且您不必数线或任何东西。 这很容易记住,你立即看到结果,即使你在屏幕的顶部/底部,你也不会错过计数线,它会工作。
使用4dd
删除4行文本。
要么
使用行向可视化块。 <Sv>
然后移动到最后一行要删除,然后按d
如果该块非常大,并且无法计算要删除的行数,但您知道第一个和最后一个行号( :set number
helps),则可以始终转到ex模式并
:3,1415d
从第3行通过第1415行删除。
链接地址: http://www.djcxy.com/p/49499.html