我有一行字符串(10到20个):
我可以使用Vim的查找和替换功能来删除等号后面的所有内容直到行末, 以便将文本转换为:
title = models.CharField(max_length=250)
...
field20 = models.DateField()
我可以使用Vim的查找和替换功能来删除等号后面的所有内容直到行末, 以便将文本转换为:
title
...
field20
我熟悉通过可视化选择查找替换(:s/\%Vfoo/bar/g)的方法,因此我想做类似于(:s/\%V< = until $>//g)的操作,但我不确定如何在Vim中实现:
= until $
我查看了vimregex维基,并尝试了以下内容,但没有成功:
:s/\%V = (.*?)$//g
\s
is a much shorter version of[[:blank:]]
- sidyll[[:blank:]]
另一方面更明确,但打起来更费劲。 ;) - hek2mgl\s
是[[:space:]]
的缩写,而[[:blank:]]
则是[\t<space>]
的“短”版本。 - hek2mgl[:space:]
本身包括换行符,但为了与 Vi 兼容,集合[]
不包括换行符,除非在其前面加上\_
或者显式地包含\n
。因此,实际上[[:space:]]
表示的是除了换行符之外的所有空白字符。而\_[[:space:]]
表示的是所有空白字符。此外,还有\_x
系列,它总是将一个\x
转换为换行符,比如\_s
表示\s
(空格和制表符)加上一个换行符。 - sidyll