Vim,删除到第 n 行

joh*_*nny 4 vim gvim

我经常编辑文件,我必须删除除前五行和最后三行之外的所有内容。我通过移动到第六行并输入“:,.$-3 d”来做到这一点。有没有办法使用 d 和某种运动来完成同样的事情?

Dav*_*man 5

当然是! 目标行号d[num]G在哪里[num]。当然,任何其他移动命令也将起作用,而不是G

要删除前五行和最后三行,假设您刚刚打开文件并且位于第一行,则为:

d5G   # delete from current position to line 5
G     # jump to last line
d2k   # delete from current position to 2 lines up (3 lines total)
Run Code Online (Sandbox Code Playgroud)

编辑: 刚刚重读这个问题,看到我把你的意图倒退了——你想保留前五个/最后三个,而不是删除它们。在这种情况下,它是:

G     # jump to last line
3k    # up 3 lines
d6G   # delete from current position to line 6
Run Code Online (Sandbox Code Playgroud)