在vim当我的光标在第一行时,我可以按:
100dd
删除前100行。
但是如何删除所有行除了 最后 100行?
答案 0 :(得分:53)
在正常模式下:
G100kdgg
换句话说:
G -> go to last line
100k -> go up 100 lines
dgg -> delete to top of file
答案 1 :(得分:49)
在ex模式中:
:1,$-100d
说明:“:”将编辑器置于“ex模式”。 ex模式的d命令删除指定为单行号或行范围的行。 $是最后一行,算术可以应用于行号。
答案 2 :(得分:11)
另一种通用解决方案:
:%!tail -100
您可以在!
之后使用任何shell命令来任意修改当前缓冲区。 Vim启动命令并将当前文件提供给stdin
,并从stdout
读取新缓冲区。