首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >哪些Vim命令可以用来引用/取消引用单词?

哪些Vim命令可以用来引用/取消引用单词?
EN

Stack Overflow用户
提问于 2010-01-27 23:01:23
回答 10查看 123.6K关注 0票数 232

如何在Vim中快速引用/取消引用单词以及更改引用(例如从'")?我知道surround.vim插件,但我只想使用Vim。

EN

回答 10

Stack Overflow用户

发布于 2010-01-27 23:40:41

下面是一些可能会有所帮助的映射:

代码语言:javascript
复制
:nnoremap <Leader>q" ciw""<Esc>P
:nnoremap <Leader>q' ciw''<Esc>P
:nnoremap <Leader>qd daW"=substitute(@@,"'\\\|\"","","g")<CR>P

如果您尚未更改mapleader变量,则使用\q" \q'\qd激活映射。他们在光标下的单词周围添加双引号,在光标下的单词周围添加单引号,在光标下的单词周围分别删除任何引号。

票数 38
EN

Stack Overflow用户

发布于 2010-01-28 04:00:23

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

代码语言:javascript
复制
:s/\(\S\+\)/"\1"/

或者,如果您想减少反斜杠的数量,可以在模式的开头放置一个\v (very-magic)修饰符

代码语言:javascript
复制
:s/\v(\S+)/"\1"/
票数 29
EN

Stack Overflow用户

发布于 2020-05-21 21:28:47

如果你使用vim插件https://github.com/tpope/vim-surround (或者使用VSCode Vim插件,它带有预先安装的vim-环绕声),它非常方便!

添加

代码语言:javascript
复制
ysiw' // surround in word `'`

丢弃

代码语言:javascript
复制
ds' // drop surround `'`

变化

代码语言:javascript
复制
cs'" // change surround from `'` to `"`

它甚至适用于html标签!

代码语言:javascript
复制
cst<em> // change surround from current tag to `<em>`

请查看github上的自述文件以获得更好的示例

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2147875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档