我有一长串单词,如下所示:
foo,foo bar,bar@foo,foo# bar,bar$ foo#
现在我想把它变成:
"foo","foo bar","bar@foo","foo# bar","bar$ foo#"
因此,分隔符是逗号。
在 vi(m)
中执行此操作的最佳方法是什么?
编辑: 有人愿意详细说明反对票吗?
最佳答案
这似乎有效。捕获所有不是逗号的内容,并将其替换为引号中捕获的部分。命令末尾的 g
表示替换与该行中的正则表达式匹配的所有实例。如果没有 g
它只会匹配第一个。看一下 :h :s
和 :h :s_flags
:%s/\([^,]\+\)/"\1"/g
输入:
foo,foo bar,bar@foo,foo# bar,bar$ foo#
输出:
"foo","foo bar","bar@foo","foo# bar","bar$ foo#"
关于vim - 将用逗号分隔的单词放在引号中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17029032/