Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 用模式替换字符和文本前后的字符_Vim - Fatal编程技术网

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
。如果您不知道什么是
[..]
,我建议您阅读一些正则表达式教程@流线型