使用单个命令从 vi 编辑器中删除 100 行

may*_*hta 37 command-line vi command

我正在使用 Ubuntu 并试图从vi编辑器中删除所有 100 行,但我在一个命令中遇到了这个问题。

200*_*ess 67

在正常模式下,做

100dd
Run Code Online (Sandbox Code Playgroud)

dd删除当前行。该命令的前言100会导致它重复 100 次。

如果文件中从当前行开始的行少于 100 行,根据vi实现,它要么无法删除任何行,要么删除尽可能多的行。在 的情况下vim,这取决于cpakacompatible选项是否打开。

  • `100dd` 是正确答案。我想知道你在做什么。 (14认同)

Use*_*ess 49

  1. 从(包括)当前行向前删除 100 行

  2. 从(包括)当前行向后删除 100 行

    d99k
    
    Run Code Online (Sandbox Code Playgroud)
  3. 按行号删除特定范围内的行

    :1,100d
    
    Run Code Online (Sandbox Code Playgroud)
  4. 删除从当前行开始的范围内的行

    :.,.+99d
    
    Run Code Online (Sandbox Code Playgroud)

等等等等

  • 数字 4 将删除当前行 (0) 直到第 101 (0+100) 行,因此是 101 行而不是询问的 100。尝试`:.,+99d` (2认同)

sus*_*tus 8

如果要删除文件中的所有行,则此 vi 命令指定删除范围:

:1,$d
Run Code Online (Sandbox Code Playgroud)

1表示第一行, $表示最后一行