代码之家  ›  专栏  ›  技术社区  ›  Scott Skiles

vim查找并替换“=”之后的所有内容,直到行结束($)

  •  3
  • Scott Skiles  · 技术社区  · 6 年前

    我有一行字符串(10到20):

    title = models.CharField(max_length=250)
    ...
    field20 = models.DateField()
    

    如何使用vim的find和replace删除等号到行尾的所有内容,以便将文本转换为:

    title
    ...
    field20
    

    我熟悉visual select find and replace(:s/\%vfoo/bar/g),所以我想做一些类似(:s/\%v<=直到$>//g)的事情,但这是我不确定如何在v i m中找到的:

     = until $
    

    我查看了vimregex wiki,并尝试了以下操作,但没有成功:

    :s/\%V = (.*?)$//g
    
    1 回复  |  直到 6 年前
        1
  •  10
  •   hek2mgl    6 年前

    你在找这个吗:

    :%s/=.*/
    

    是吗?

    它和

    :%s/=.*//
    

    但结尾可以省略。你不需要 g 顺便说一句,因为模式 排到最后 只能匹配一次。

    如果还想删除 = 使用:

    :%s/[[:blank:]]*=.*/
    

    注:如果你认为 [[:blank:]] 很难打字,你可以用 \s 相反。两者都代表 空格或制表符 是的。