我想提取一个字符并将其粘贴到连续行的第一个位置。例如,我需要在文件的第 7 行前面添加一个“#”。
有人能帮助我吗?
答案1
这在很大程度上取决于你调用的是什么vi
。如果它真的是 original-vi,那么你可以这样做
- 键入yl以“拉出”一个字符,从光标位置开始,向右移动一个单元格。
- 将光标移动到要放置文本的第一行
- 重复打字0PEnter,读完这七行。
在 original-vi 中,你只能使用以下方法影响一系列行前任模式。前任模式vi
确实接受一个范围,但是类似的命令
:1,7P
不会put
A特点,但尝试做一些事情线. 相反,使用前任模式,你会做一个代替例如,
:1,7s/^/X/
但没有办法寄存器值(您拉扯) 用于替代。
进一步阅读:
- 前任(POSIX)
- 六(POSIX)
- 4. EX 命令模式(Elvis 编辑)
- 5. 介绍前编辑(从学习 vi 编辑器)
答案2
注意:此答案仅适用于 VIM,不适用于 VI。
您可以通过以下方式将其拖到列中:
- 以正常模式启动(不插入)。
- 转到第一行和第一列(您想要插入文本的位置)。
- 按Ctrl+V进入垂直选择模式。
- 选择了要在其前粘贴文本的所有行后,按Shift+ I。
- 现在你可以
- Ctrl使用+ R, 0(或其他寄存器)粘贴您提取的文本。
- 或书写任意文字。
- 完成后,按Esc,所有选定的行都会出现相同的文本。
附注:你还可以在以下网址询问有关 Vi(m) 的问题:vi.stackexchange.com