【问题标题】:vim: replace a string with special characters with string including special charactersvim:用包含特殊字符的字符串替换带有特殊字符的字符串
【发布时间】:2020-07-12 04:59:31
【问题描述】:

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

例子:

我想用(os.path.join(path, "替换(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/ 中使用的一样,这里引用'' 用于标记字符串的开始和结束。

【问题讨论】:

  • Vi and Vim 可能是一个更好的提问地点。
  • 你能澄清一下这不起作用吗?你是说:%s 你写%s: 的地方吗?

标签: linux search vim replace


【解决方案1】:

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

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

这里的字符串分隔符是/:

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

【讨论】:

  • 谢谢,是的,我错误地使用了命令。 :%s/ 是正确的。现在替换工作正常,正如我的预期。
  • @ranjithkonaje 很高兴为您提供帮助。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。要接受答案,请单击投票按钮下方的复选标记按钮 (✓)。
猜你喜欢
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多