You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Vim自定义命令实现选中文本剪切后放入引号?

Vim自定义命令实现选中文本包裹双引号

直接使用以下命令定义即可:

command! -range -visual Wq <line1>,<line2>normal! c""<Esc>P

关键说明:

  • -visual:必须添加这个参数,确保命令能正确识别视觉选中的文本范围,在选中文本后执行命令时生效。
  • <line1>,<line2>:指定命令作用的行范围,配合normal!将普通模式按键序列应用到该范围。
  • normal!:强制执行普通模式命令,忽略用户的映射,确保按键序列c""<Esc>P被准确执行——c剪切选中内容,输入""后按<Esc>回到普通模式,再P把剪切的内容粘贴到双引号之间。

原写法的问题:

  1. 缺少-visual参数,视觉选中状态下无法正确关联范围。
  2. 使用execute的方式冗余且转义错误,直接用normal!更简洁可靠,不需要对引号做额外转义。
  3. 语法结构错误,自定义命令中范围后应直接跟normal!而非execute。

内容的提问来源于stack exchange,提问作者hilbor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:33:12