如何在VIM中删除从当前行到文件末尾的所有文本?

use*_*430 204 vim text file

我有非常大的文件(超过10G).我只需要文件顶部的一些行.是否可以(在vim中)删除文件的其余部分(从当前行到文件末尾)?

Ed *_*ess 345

dG 将从当前行删除到文件末尾

dCtrl+ End将从光标删除到文件末尾

但是如果这个文件和你说的一样大,你可能最好head不要编辑和保存文件来阅读前几行.

head hugefile > firstlines
Run Code Online (Sandbox Code Playgroud)

(如果你在Windows上,你可以使用Win32端口head)

  • 您可以指定`head`提供的行数,例如:前20行的`head -n20 hugefile`.n默认为10. (16认同)
  • 需要"头"的动机?在大文件(1G +)上使用dG需要花费大量时间(例如,5分钟). (3认同)
  • 对于那些寻找相反情况的人,`dgg`将从当前行删除到文件的开头。 (3认同)

Jam*_*hew 61

转到要删除的第一行,然后输入命令dG

  • 在键入dG之前不要按":" (35认同)

小智 27

:.,$d

这将删除当前行到文件末尾的所有内容.当您处理测试向量生成或剥离时,这非常有用.

  • 我更喜欢对起始行有更多的控制,所以我使用:`:<line number>,$d` 例如:`:3,$d` 将从第 3 行删除到文件末尾 (2认同)

Pra*_*and 6

我使用以下步骤来执行相同的操作 -

  1. 按 确认您处于正常模式Esc
  2. 按 进入可视模式V
  3. GieShift + g选择从光标到文件末尾的文本。
  4. 现在按x删除选定的文本。