我正在尝试替换文本文件中所有被单引号包围并以@开头,后跟任意数字和任意混合的字母或#的字符串,例如:
'package@1.1.k'
'otherpackage@14'
'anotherpackage@7.8'
我希望只选择单引号并将其删除,方法如下:
export MYVAR="/dir/'package@1.1.k':$MYVAR"
to:
export MYVAR="/dir/package@1.1.k:$MYVAR"
在整个文件中,我找到了一种方法可以使用两个单独的命令(使用vim的zs
和ze
,类似于正向和反向环视)来删除前面的单引号和后面的单引号:
:%s/'.*@.[0-9]*.*\zs'//g
:%s/\zs'\ze.*@.[0-9]*.*//g
然而,我对一次性完成此操作很感兴趣,因为我想了解更多关于使用Neovim的知识,并将答案应用到未来的操作中。
实际上,我正在使用Neovim,如果这有任何与此相关的额外功能。