对齐:如何修剪从块选择到文本开头的空格?

时间:2013-04-08 07:23:48

标签: regex vim alignment spaces

我经常发现自己在其他文本中保留了对齐文本 我知道有插件来对齐列,但在很多其他文本中,这不是最简单的方法。

这是我的文字:

>...this is text               X      more text
>...this is more text          X          more text
>...text text text             X               more text
>...this is text               X       more text
>...this is more text          X     more text

我想要做的是选择单个列的块(上例中为X)并删除块之间的所有空格以及块之后开始的文本。

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:4)

不是查找和替换解决方案,而是如何

  • 将光标放在起始位置
  • 9 9 @ = d 瓦特 Ĵ

<强>击穿

  • d w :d(elete)w(ord)(删除所有空格直到下一个wordt的开头)
  • j :转到下一行
  • 9 9 @ :99次

答案 1 :(得分:3)

直观地选择要对齐的文本,然后使用此ex命令:'<,'>s/\%Xv\s*//  (用你选择的块列号代替X。)

  • '<,'>定义替换命令的范围,

  • \%Xv是用于查找特定列的零宽度正则表达式模式,请检查:help pattern