使用 vim 编辑文本

使用 vim 编辑文本

我正在尝试在 Vim 中编写命令,该命令可以删除第三行中的 9 和 11 符号。我这样做了3s/9, 11///,但没有发生我预期的情况。我们将非常感激您的建议。更准确地说:我想删除第三行中的第 9 个符号和第 11 个符号。例如我有三行

  1. 距海面三米
  2. 低于海面三米
  3. 需要 vim 方面的帮助

所以我想删除第三行中的第9个符号,即单词“some”中的“e”字母和第11个符号,即单词“help”中的字母“h”。

答案1

27.4 Matching multiple times用户手册第 27 章部分对多次匹配进行了说明(请参阅:help usr_27.txt)。

如果第 3 行至少包含 9 个字符,以下命令将删除该行的前 9、10 或 11 个字符。如果该行包含较少的字符,它将返回E486: Pattern not found:

:3s/.\{9,11}//

不确定这是否是您想要的,如果不是,请更新您的问题。

答案2

在编辑模式下,输入:

08lxl.
  • 0 将光标移至行首
  • 8l将光标向前移动 8 个字符
  • x 删除光标下的字符
  • l 将光标向前移动 1 个字符
  • . 重复上一个命令 (x)

如果你想将其绑定到一个键(例如,):

:map , 08lxl.

,此后每次您在编辑模式下按时,它都会执行这些命令。

相关内容