如何在Vim中快速引用/取消引用单词以及更改引用(例如从'
到"
)?我知道surround.vim插件,但我只想使用Vim。
发布于 2010-01-27 23:40:41
下面是一些可能会有所帮助的映射:
:nnoremap <Leader>q" ciw""<Esc>P
:nnoremap <Leader>q' ciw''<Esc>P
:nnoremap <Leader>qd daW"=substitute(@@,"'\\\|\"","","g")<CR>P
如果您尚未更改mapleader变量,则使用\q"
\q'
或\qd
激活映射。他们在光标下的单词周围添加双引号,在光标下的单词周围添加单引号,在光标下的单词周围分别删除任何引号。
发布于 2010-01-28 04:00:23
除了其他命令之外,这将用双引号将行中的所有单词括起来(根据您的注释)
:s/\(\S\+\)/"\1"/
或者,如果您想减少反斜杠的数量,可以在模式的开头放置一个\v
(very-magic)修饰符
:s/\v(\S+)/"\1"/
发布于 2020-05-21 21:28:47
如果你使用vim插件https://github.com/tpope/vim-surround (或者使用VSCode Vim插件,它带有预先安装的vim-环绕声),它非常方便!
添加
ysiw' // surround in word `'`
丢弃
ds' // drop surround `'`
变化
cs'" // change surround from `'` to `"`
它甚至适用于html标签!
cst<em> // change surround from current tag to `<em>`
请查看github上的自述文件以获得更好的示例
https://stackoverflow.com/questions/2147875
复制相似问题