如何在Vim中快速引用/取消引用单词并更改引用(例如从“到”)?我知道环绕的事。vim插件,但我想只使用vim。


当前回答

这个怎么样?

 :%s/\'/"/g

其他回答

除了其他命令外,这将把一行中的所有单词用双引号括起来(根据您的注释)。

:s/\(\S\+\)/"\1"/

或者如果你想减少反斜杠的数量,你可以在模式的开头放一个\v(非常神奇的)修饰符

:s/\v(\S+)/"\1"/

对于VSCodeVim、Neovim和Macvim的用户,可以这样做

vwS"

你可以用你想用的任何东西来代替“”。 你可以用任何其他选择运算符替换w

在选定的文本块周围添加单引号的可视化模式映射示例:

:vnoremap qq <Esc>`>a'<Esc>`<i'<Esc>

我使用的是vim-surround命令,本质上几乎是vim。

环绕。vim都是关于“环境”的:圆括号、括号、引号、XML标记等等。该插件提供了映射,可以轻松地成对删除、更改和添加这样的环境。

Plugin 'tpope/vim-surround' 

例如,要完全删除分隔符,请按ds”。 详情如下: https://github.com/tpope/vim-surround

宏观的方式!

按q和q记录到q寄存器(我们用“q”作为快捷键来记住“引号”)。 按shift + b移动光标到当前单词的前面 按I输入'(单引号) 按esc键,然后按e键移动到单词的末尾 按a,然后再按',用引号包围单词。 按esc键进入正常模式。 最后按q将其记录到q寄存器中。

如何使用

移动光标到所需的单词。 按@q将单词用引号括起来。 如果你想把它重复成另一个单词,请按@@。

你可以修改步骤4任何你喜欢的{一行,一个词,直到找到一些字符,等等}。

使记录的宏持久

打开. vimrc 转到文件末尾 切换到插入模式。输入这个使它持久:

let @q='ctrl + r ctrl + r q'

保存并退出 打开你的文件,翻到一些单词 现在按@q

如果你做得正确,神奇的东西应该出现在你的话语中。

您可以将此应用于您喜欢的其他宏。