vim:用包含特殊字符的字符串替换特殊字符的字符串

时间:2020-03-31 15:18:28

标签: linux search vim replace

我想用另一个也包含特殊字符的字符串替换具有特殊字符的字符串(的多个实例)。

示例:

我想将(path + "\\替换为(os.path.join(path, "

输入:

open(path + "\\filename.bin")

输出:

open(os.path.join(path, "filename.bin"))

我可以使用/\Vopen(path + "\\\\搜索这些实例,-很好

要替换,我尝试:%s:/\Vopen(path + "\\\\/(os.path.join(path, "/gc,但这没用

请在这里帮助我。

另外, 我们可以以完整的字符串为开头的标记,例如“任何字符串”(引号)吗?

就像我们在grep -rni 'text-to match ( ; "' dir/中使用的一样,引号''用于标记字符串的开始和结束。

1 个答案:

答案 0 :(得分:1)

您需要输入:%s ...而不是%s: ...。这是更正的行:

:%s/\Vopen(path + "\\\\/(os.path.join(path, "/gc

此处的字符串定界符为/

:%s/\Vopen(path + "\\\\/(os.path.join(path, "/gc
   ^                   ^                     ^