【问题标题】:How to add text at the end of each line in Vim with specific pattern?如何在 Vim 的每一行末尾添加具有特定模式的文本?
【发布时间】:2014-07-22 23:10:53
【问题描述】:

我的 yaml 文件:

colors
-  black
-  white
-  red
-  green
size
-  big
-  small
-  medium
weight
-  100
-  200
-  300

...

如何在不以“-”开头的每行末尾添加“:”?

结果应该是这样的:

colors:
-  black
-  white
-  red
-  green
size:
-  big
-  small
-  medium
weight:
-  100
-  200
-  300

【问题讨论】:

    标签: regex vim macvim


    【解决方案1】:

    这应该可行:

    :%v/^-/normal A:
    

    本着给猫剥皮的精神(感谢罗马人给这个带来了一些幽默:)),

    :v/^-/normal A:
    :g/^[^-]/s/$/:/
    

    【讨论】:

    • 你可以放弃%
    【解决方案2】:

    您可以使用以下内容:

    :v/^-/norm A:
    

    【讨论】:

    • 谢谢。我投了赞成票,但接受了 R Sahu 的回答,因为他是第一个。
    【解决方案3】:

    给猫剥皮真是太有趣了:

    :v/^-/s/$/:
    :%s/^[^-].*/&:
    

    【讨论】:

      猜你喜欢
      • 2012-07-03
      • 2022-06-11
      • 2021-11-07
      • 2010-10-10
      • 2014-05-29
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      相关资源
      最近更新 更多