如何从两列之间的所有行中删除文本?

rea*_*ead 7 vim

我想删除两列之间所有行的内容.我该怎么做呢?

例如,我想要这个:

abcdefg
hijklmn
opqrstu
Run Code Online (Sandbox Code Playgroud)

如果我删除第3列到第5列之间的文本,请成为此项:

abfg
himn
optu
Run Code Online (Sandbox Code Playgroud)

gon*_*alu 17

在d光标的位置,然后按Ctrl-V,l,Gd.

  • Ctrl-v 进入视觉模块模式;
  • l 将视觉选择扩展到右边一个字符;
  • G 将选择范围扩展到最后一行;
  • d 删除选择.


Mag*_*eno 5

您的问题与非常相似。

要删除文件中所有行的第 3至5列:

:%normal 3|d6|
Run Code Online (Sandbox Code Playgroud)

为了删除特定的行间隔(80到90),请使用以下命令:

:80,90normal 3|d6|
Run Code Online (Sandbox Code Playgroud)

如果您不熟悉普通命令或| | “运动”有一个简短的解释:

  1. normal命令在普通模式下执行以下命令;
  2. | “移动”将光标移动到指定的列,因此3|将光标移动到第三列;
  3. 然后,我删除所有内容(d),直到第5列(6|)。