在Vim中,我如何有效地搜索并用普通双引号替换“和”

时间:2017-04-13 06:07:06

标签: vim find-replace

我从教程中得到了这段代码片段,我想搜索并替换所有出现的“和”,并使用正常的双引号“。 我怎样才能在Vim中有效地做到这一点?

{
  “runtime”: {
  “DDP_DEFAULT_CONNECTION_URL”: “http://127.0.0.1:8100”
  },
  “import”: [
    “meteor-base@1.0.4”,
    “mongo@1.1.14”,
    “reactive-var@1.0.11”,
    “jquery@1.11.10”,
    “tracker@1.1.1”,
    “standard-minifier-css@1.3.2”,
    “standard-minifier-js@1.2.1”,
    “es5-shim@4.6.15”,
    “ecmascript@0.6.1”,
    “shell-server@0.2.1”
  ]
}

谢谢。

4 个答案:

答案 0 :(得分:6)

您可以在正常模式下使用ga显示ascii字符代码 对于代码为0000< = hhhh< = FFFF和 Ctrl + v {{1}的字符,您还可以使用 Ctrl + v uhhhh添加任意utf8代码其余的在插入模式和命令模式下,所以在正常模式下启动时需要输入,类似于@ shash678答案:

Uhhhhhhhh CTRL + V :%s/

答案 1 :(得分:4)

在命令行模式下,您可以使用以下命令查找每个(在所有行中),并将其替换为"

:%s/[“”]/"/g 

编辑:

要做到这一点,(假设您在vim中打开文件):

1)点击 ESC 键确保你处于Normal模式。

2)点击,您会注意到:出现在vim底部的框中​​(即命令行)。

3)键入命令的其余部分,以查找每个(在所有行中),并将其替换为"

4)点击 ENTER 键。

5)你完成了!命令行会说made 56 substitutions on 13 lines

答案 2 :(得分:0)

重新表达@mucka的答案:

:%s/[ Ctrl + v u201c Ctrl + v u201d]/"/g

上面的命令与下面的命令类似,但是它允许您使用带有 Ctrl + v 的十六进制代码来检索特殊字符:

:%s/[“”]/"/g 

要显示文件中任何字符的十六进制代码,请在正常模式下将光标移到该字符上并执行ga

答案 3 :(得分:0)

  1. 突出显示runtime之前的第一个智能引号,然后按两次 e 来选择另一个。
  2. y 即可拉动。现在,您有了一个同时包含两种智能报价的yank寄存器。
  3. 键入:%s/[,然后按 Ctrl + r ,然后按粘贴被选中的文本。向后移动并删除搜索中找到单词runtime,然后移至末尾并键入]/"/g,然后按 Enter