gpt4 book ai didi

regex - 如何阅读此命令以删除行末的所有空格

转载 作者:行者123 更新时间:2023-12-04 13:24:57 28 4
gpt4 key购买 nike

我在http://rayninfo.co.uk/vimtips.html上浏览了整个页面,其中充满了 super 有用且颇为神秘的vim技巧。我已经尝试了其中的一些方法,并且我了解发生了什么事情,以至于可以在我的脑海中正确地解析它,以便以后可以重新创建它。以下是两个我要删除每一行末尾所有空格的命令,我很难缠住我的头

:%s=  *$==                  : delete end of line blanks
:%s= \+$== : Same thing

我正在将 %s解释为文件中每一行的字符串替换,但是在那之后,我迷失于看起来像:s和regex的一些变体。我习惯于查看和使用:s/regex/replacement。但是以上情况非常令人困惑。

上面的这些命令一步一步地用英语是什么意思?

最佳答案

正则表达式定界符不必是斜杠,也可以是其他字符。如果您的搜索或替换字符串包含斜杠,这将很方便。在这种情况下,我不知道为什么它们使用等号而不是斜杠,但是您可以假装等号为斜杠:

:%s/  *$//     
:%s/ \+$//

那有意义吗?第一个搜索一个空格,然后搜索零个或多个空格,第二个搜索一个或多个空格。每一个都用 $固定在该行的末尾。然后替换字符串为空,因此空格被删除。

实际上,我了解您的困惑。如果您查看 :help :s,则必须向下滚动几页才能找到此注释:

*E146*

Instead of the '/' which surrounds the pattern and replacement string, you can use any other character, but not an alphanumeric character, '\', '"' or '|'. This is useful if you want to include a '/' in the search pattern or replacement string. Example:

:s+/+//+

关于regex - 如何阅读此命令以删除行末的所有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058663/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com