繁体   English   中英

在vim中,除了最后100行之外,如何删除文件中的所有行?

[英]In vim, how can I delete all lines in a file except the last 100 lines?

在vim当我的光标在第一行时,我可以按:

100dd

删除前100行。

但是如何删除 最后 100行之外所有行?

在正常模式下:

G100kdgg

换一种说法:

G     -> go to last line
100k  -> go up 100 lines
dgg   -> delete to top of file

在ex模式下:

:1,$-100d

说明:“:”将编辑器置于“ex模式”。 ex模式的d命令删除指定为单行号或行范围的行。 $是最后一行,算术可以应用于行号。

另一种通用解决方案:

:%!tail -100

你可以在使用之后使用任何shell命令! 任意修改当前缓冲区。 Vim启动命令并将当前文件提供给stdin ,并从stdout读取新缓冲区。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM