vim:将文本推送到与另一行相同的x坐标的命令

时间:2012-08-01 08:21:04

标签: vim

我不确定使用正确的词语来表达我想要的东西,这就是为什么我自己很难找到它。我有一个类似CSS的文件:

attr_of_super_long_length: value1,
shorter_attr: value2,
medium_length_attr: value3

我希望能够将光标放在 value1 中的 v 并复制其x坐标,然后转到 v value2 中并将其推送到1个击键中相同的缩进x坐标(例如,不突出显示和>< )。有任何想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

有一些很棒的插件用于Aligntabular。我使用了Align一段时间,但我已经转到表格式,因为我喜欢this functionality来制作表格。在表格中,您可以通过直观地选择这些值,然后使用标准vim正则表达式执行命令:Tab /:\zs来完成此操作(请参阅:help pattern)。正如Tom Whittock所说,这个问题已经被问及并解决here

答案 1 :(得分:0)

你基本上想要左对齐到特定的列,但不是整行(如:left那样),而只是光标右侧的文本。

幸运的是,我已为此编写了一个插件,我现在就发布了它:AlignFromCursor

将光标放在示例中v的{​​{1}}上,按value2或发出28<Leader>le,结果就是:

:LeftAlignFromCursor 28

对于attr_of_super_long_length: value1, shorter_attr: value2, medium_length_attr: value3 ,您只需重复value3

即可