9

我从教程中得到了这个代码片段,我想用普通的双引号“搜索和替换所有出现的“和”。我怎样才能在 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

4 回答 4

8

您可以ga在正常模式下显示字符的 ascii 代码。
您还可以将任意 utf8 代码Ctrl+vuhhhh用于代码为 0000 <= hhhh <= FFFF 的字符,Ctrl+vUhhhhhhhh其余代码在插入模式和命令模式下,因此在正常模式下启动时,您需要键入,类似于 @shash678 答案:

:%s/Ctrl+vu201c/"/g

于 2017-04-13T06:21:11.467 回答
6
于 2017-04-13T06:12:22.187 回答
2

改写@mucka的回答:

:%s/[Ctrl+vu201cCtrl+vu201d]/"/g

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

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

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

于 2018-08-31T20:24:00.747 回答
0
  1. 突出显示之前的第一个智能引号runtime,然后点击e两次以选择另一个。
  2. y拉动。您现在有一个 yank 寄存器,其中包含两种类型的智能引号。
  3. 键入:%s/[,然后按Ctrl+ r,然后"粘贴被拉出的文本。向后移动并runtime从搜索中删除单词,然后移动到末尾并键入]/"/g并点击Enter
于 2020-11-24T06:43:15.453 回答