如何使用vi编辑器对齐列?

时间:2016-09-22 13:25:51

标签: vi

我的数字列如下

-0.01343
0.002
-1.1234

我想在vi编辑器中对齐列,如下所示

-0.01343
 0.002
-1.1234

1 个答案:

答案 0 :(得分:1)

因此,您希望在每行之前插入一个不以减号开头的空格:

适当的命令是:%s/^\([^-]\)/ \1/

这打破了:

: - 启动命令

%s - 所有行的正则表达式

/^\([^-]\) - 匹配行的开头,后跟-以外的任何字符,我们称之为第1组

/ \1 - 替换为空格,后跟第1组中的任何内容

/ - 结束正则表达式,每行执行不超过一次

其他选择:

如果在可视化块中选择了预期的行,则键入:将使用'<,'>启动命令。然后从s(无%)开始移至正则表达式,它将仅应用于选定的行。

如果您以/c结束,则会在每次更换时要求确认。如果以/g结尾,则每行可以多次使用(如果适用)。 /gc有效。

如果您希望小数点对齐,而不是第一个数字,则更复杂,并且可能无法使用vi或vim中的简单命令完成。