vim – 如何从vi中的光标位置开始插入一个空白区块?

假设我有下面的文字,光标停留在第一个A,
AAAA
BBB
CC
D

如何在每行之前添加空格以使其变得如此,如果可以在空中指定空格的列数(例如两个),那么这将是很好的。

AAAA
  BBB
  CC
  D

我会想象有一种方法可以在视觉模式下快速做到这一点,但是有什么想法?

目前,我在视觉模式下复制第一列文本两次,并将整个两列替换为空格,其中涉及> 5击键太麻烦了。

约束:

对不起,我没有清楚地说明问题,可能会造成一些混乱。

目标只是较大文件的一部分,因此可以指定从第一个A开始的行数和列数。

编辑:

感谢@DeepYellow和@Johnsyweb,显然>}和> ap都是我不知道的很好的提示,在我澄清我对问题的答案的具体要求之前,他们都可以是有效的答案,但是任何情况下,@luser droog的答案都是唯一可行的答案。谢谢大家!

我会用:%s / ^ /

您还可以指定一行范围:10,15s / ^ / /

或相对范围:.5s / ^ /

或者对于位置使用正则表达式:/ A /,/ D /&gt ;.

为了复制在SO上粘贴的代码,我通常使用sed的终端/ ^ / /’文件

捷径

I just learned这是一个新的技巧。您进入视觉模式v,选择区域(使用常规移动命令),然后点击:这给你:

:'<,'>

准备好输入上述命令的命令部分,标记’<和'>被自动设置为视觉选择的范围。

选择和缩进当前段落:

vip>

要么

vip:>

随后进入。

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...