Vim 用模式替换字符和文本前后的字符
我需要使用模式替换字符,但也需要使用搜索和替换功能替换选定字符之前的字符 例如:Vim 用模式替换字符和文本前后的字符,vim,Vim,我需要使用模式替换字符,但也需要使用搜索和替换功能替换选定字符之前的字符 例如:必须替换为1/2,因此hugo.ignatz变成hug1/2gnatz 我该怎么做呢?如果我没看错你的话,你想要这个吗 :%s#.[.].#1/2#g 这将用1/2Hi替换x.y。你能编辑你的帖子并添加你尝试过的相关代码吗?可能会显示您使用搜索和替换功能所做的尝试?抱歉,不幸的是,我对Vim完全陌生,我已经在Google上搜索了大约一个小时的命令,找不到任何东西。是的!谢谢:)你能给我解释一下命令的每一部分是做什么
必须替换为1/2
,因此hugo.ignatz
变成hug1/2gnatz
我该怎么做呢?如果我没看错你的话,你想要这个吗
:%s#.[.].#1/2#g
这将用
1/2
Hi替换x.y
。你能编辑你的帖子并添加你尝试过的相关代码吗?可能会显示您使用搜索和替换功能所做的尝试?抱歉,不幸的是,我对Vim完全陌生,我已经在Google上搜索了大约一个小时的命令,找不到任何东西。是的!谢谢:)你能给我解释一下命令的每一部分是做什么的吗?我是vim的新手,所以您也在1/2中解决了我的/问题。不知道你也可以用。我在猜测。部分,括号外的点用于告诉vim替换括号内模式旁边的字符。这是正则表达式
表示所有单个字符,[.]
表示文字点。在vim中读取:s
命令的:h:s
。因此,它将anySingleChar+dot+anySingleChar
替换为1/2
。如果您不知道什么是[..]
,我建议您阅读一些正则表达式教程@流线型