将char写入与前一行的长度一样多的行

atu*_*ano 3 vim

我想写一个char,就像上一行的长度一样

初始点:

This is a line and I want to write a char under it.
Run Code Online (Sandbox Code Playgroud)

我想写char的=次数与此行的长度一样多.这是我想要获得的结果:

This is a line and I want to write a char under it.
===================================================
Run Code Online (Sandbox Code Playgroud)

如何使用最减少的键/命令组合来实现此结果?

Scr*_*og1 6

我怀疑有一些更短的东西,但以下工作与光标从初始行开始:

Yp:s/./=/g
Run Code Online (Sandbox Code Playgroud)

它重复线(Yp),然后将替换用的新行的每个字符=(:s/./=/g)

更新

来自Doktor OSwaldo的更短版本

YpVr=
Run Code Online (Sandbox Code Playgroud)

复制该行,选择它并用=替换所有字符

而且,如果你经常使用它,它作为一个宏会更短.

  • 对于那些将`Y`映射到`y $`的人来说,它变成了'yypVr =`. (4认同)
  • 如果你只是删除'V`;),它会更短一些.由于`:s`与`:%s`相反,只替换当前行,因此不需要 (2认同)
  • 更短的是:`YpVr =`.如果您愿意,可以随意添加到您的答案中. (2认同)