Vim:你能从另一条线上删除一个特定的行号吗?

时间:2011-12-13 19:37:37

标签: vim

我在第93行,意识到我想删除第89行。 我键入:d89希望第89行被删除。 它不起作用。

有谁知道实现这种互动的好方法? 我是一个舒服的Vim用户,但尚未(但)已经迈出了编写插件的空白......

感谢。

3 个答案:

答案 0 :(得分:58)

冒号命令的地址(例如:行号)首先出现。

:89d

请注意,这也会导致您导航到更改的位置。您可以使用``跳回来。

如果您希望将此命令作为单个命令,则可以定义自定义命令。例如:

command! -range -nargs=0 Delete <line1>,<line2>d|norm ``

这定义了一个名为Delete的命令,用于删除已寻址的范围(<line1>,<line2>d),然后向后导航(norm ``)。

你可以这样称呼:

:89Delete

您实际上可以使用任何唯一的前缀调用它,因此您可以将其归结为:

:89D

答案 1 :(得分:7)

:89d将删除第89行。

:89,91d将删除第89行第90行和第91行。

这些功能也适用于enter image description hereVrapper插件和Eclipse的Vim扩展。

答案 2 :(得分:1)

您正在寻找的可能是

:89d|'`

| 将命令链接在一起。