vim - 在 vim 中一次用引号包围几个单词

标签 vim surround

我很好奇是否有一种方法可以使用 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/

相关文章:

alsa - 5.1 带 PortAudio 的 channel

vim - foldmethod=marker,如何自定义?

intellij-idea - 如何在IntelliJ IdeaVim中用括号括起来?

vim - 如何在Vim中用<code>标记包围两个单词,以便可以使用点运算符重复该操作?

regex - vim regex - 匹配行尾任意数量的空格(2除外)

vim - 有没有类似于 Vim 环绕插件的 Textmate bundle ?

MySQL在行前选择

regex - guid 的 vim 模式是什么

javascript - 如何跳转到vim中的Javascript函数定义?

vim - 为什么像 Vim 和 Emacs 这样的老编辑器会在界面中暴露 File 和 Buffer 之间的区别?