我很好奇是否有一种方法可以使用 vim 将多个单词同时用引号括起来。我正在使用 tpope 环绕和重复,但我想知道是否有像
这样的命令3ysw"
所以从
one two three
到
"one" "two" "three"
最佳答案
您可以使用 v3e
直观地选择范围,然后对其运行替换命令::s/\v(\w+)/"\1"/g
(应自动插入范围 '<,'>
)。
但就个人而言,我宁愿用 ysw"
包围一个词, 然后做 w.w.
(根据需要重复多次)。
或者,记录一个执行这两个步骤(包围和移动到下一个单词)的宏,然后调用它 n 次:
qqysw"3wq
在此之后是您的 q
注册,然后您可以调用2@q
对剩余的单词执行环境。
关于vim - 在 vim 中一次用引号包围几个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51689907/