VI - 在连续行的第一个位置/字符处粘贴某些内容

VI - 在连续行的第一个位置/字符处粘贴某些内容

我想提取一个字符并将其粘贴到连续行的第一个位置。例如,我需要在文件的第 7 行前面添加一个“#”。

有人能帮助我吗?

答案1

这在很大程度上取决于你调用的是什么vi。如果它真的是 original-vi,那么你可以这样做

  • 键入yl以“拉出”一个字符,从光标位置开始,向右移动一个单元格。
  • 将光标移动到要放置文本的第一行
  • 重复打字0PEnter,读完这七行。

在 original-vi 中,你只能使用以下方法影响一系列行前任模式。前任模式vi确实接受一个范围,但是类似的命令

:1,7P

不会putA特点,但尝试做一些事情线. 相反,使用前任模式,你会做一个代替例如,

:1,7s/^/X/

但没有办法寄存器值(您拉扯) 用于替代。

进一步阅读:

答案2

注意:此答案仅适用于 VIM,不适用于 VI。

您可以通过以下方式将其拖到列中:

  1. 以正常模式启动(不插入)。
  2. 转到第一行和第一列(您想要插入文本的位置)。
  3. Ctrl+V进入垂直选择模式。
  4. 选择了要在其前粘贴文本的所有行后,按Shift+ I
  5. 现在你可以
    1. Ctrl使用+ R, 0(或其他寄存器)粘贴您提取的文本。
    2. 或书写任意文字。
  6. 完成后,按Esc,所有选定的行都会出现相同的文本。

附注:你还可以在以下网址询问有关 Vi(m) 的问题:vi.stackexchange.com

相关内容