在 Vim 中向 YAML 最左列添加注释字符

在 Vim 中向 YAML 最左列添加注释字符

使用 Vim 编辑以下 yaml 时:

countries:
  - country:
      name: France

我可以用 (Case 1) 注释掉第 2 行:2s/^/#Enter。结果符合预期:

countries:
#  - country:
      name: France

然而,当我尝试对(情况 2)执行相同操作时2G^hhi#ESC,结果会有所不同:

countries:
        #- country:
      name: France

现在,前面有额外的 8 个空格#

什么原因导致了这种行为,以及如何实现与案例 1 相同的行为,同时使用与案例 2 更相似的击键?

答案1

^在普通模式下 vim 表示“行中第一个非空白列”

0在正常模式下 vim 表示“该行的第一列”

因此,2G0i#将在插入模式下转到第 2 行、第 0 列,然后输入#

相关内容