如何在Vim中快速引用/取消引用单词并更改引用(例如从“到”)?我知道环绕的事。vim插件,但我想只使用vim。
当前回答
这里有一些地图可能会有所帮助:
:nnoremap <Leader>q" ciw""<Esc>P
:nnoremap <Leader>q' ciw''<Esc>P
:nnoremap <Leader>qd daW"=substitute(@@,"'\\\|\"","","g")<CR>P
如果您没有更改mapleader变量,那么使用\q" \q'或\qd激活映射。它们分别在光标下的单词周围添加双引号,在光标下的单词周围添加单引号,在光标下的单词周围删除任何引号。
其他回答
我使用的是vim-surround命令,本质上几乎是vim。
环绕。vim都是关于“环境”的:圆括号、括号、引号、XML标记等等。该插件提供了映射,可以轻松地成对删除、更改和添加这样的环境。
Plugin 'tpope/vim-surround'
例如,要完全删除分隔符,请按ds”。 详情如下: https://github.com/tpope/vim-surround
如果你使用vim插件https://github.com/tpope/vim-surround(或使用VSCode vim插件,它附带了预先安装的vim-surround),它非常方便!
add
ysiw' // surround in word `'`
下降
ds' // drop surround `'`
改变
cs'" // change surround from `'` to `"`
它甚至适用于html标签!
cst<em> // change surround from current tag to `<em>`
查看github上的自述文件以获得更好的示例
在选定的文本块周围添加单引号的可视化模式映射示例:
:vnoremap qq <Esc>`>a'<Esc>`<i'<Esc>
在单词的周围加上引号:v i w S '
视图:选择光标下的单词 S:添加周边 ':单引号
将'改为":c s ' "
c:改变环境 ':单引号 :改为双引号
用引号括住所有单词:
s/\(\w\+\)/"\1"/g
之前:
aaa,bbb,ccc
后:
"aaa","bbb","ccc"