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

如何在VIM中实现类似Sublime为文本块包裹开闭标签的功能

Vim实现选中文本块包裹开闭标签的方法

你需要的类似Sublime的标签包裹功能可以通过以下两种方式实现,操作效果和下图一致:
Sublime中的操作示例

方法1:原生Vim实现(无需安装插件)

单次临时操作步骤

  • 按v进入字符可视化模式,或V进入行可视化模式,选中需要包裹标签的文本
  • 输入c剪切选中内容并进入插入模式
  • 输入开标签(如<p>),按下Ctrl+r "粘贴刚才剪切的内容,再输入对应闭标签(如</p>),按Esc退出插入模式即可完成

自定义快捷键复用

如果需要高频使用该功能,可将以下配置添加到你的.vimrc配置文件中,自定义一键触发的快捷键:

" 可视模式下按<leader>t唤起标签输入,自动包裹选中文本
vnoremap <leader>t :s/^\(.*\)$/<\1><\r><\/\1><CR>gvhh:s/<\(.*\)>/\=input('Enter tag: ')/<CR>

配置生效后,选中文本按下\t(默认leader键为\,如果你自定义过leader键就替换成你设置的前缀),输入你需要的标签名回车即可完成包裹。

方法2:使用surround插件实现(更便捷,推荐)

Vim生态中常用的vim-surround插件原生支持该功能,覆盖更多场景(支持带属性的标签、括号、引号等各类包裹需求)。
操作步骤:

  • 用你正在使用的Vim插件管理器安装tpope/vim-surround插件
  • 进入可视化模式选中需要包裹的文本,按下大写的S,随后输入你需要的标签名即可。例如选中内容后输入Sdiv,会自动给选中内容包裹<div>和</div>
  • 如果需要添加标签属性,输入时写全标签内容即可,例如选中后输入S<div class="card">,会自动生成带属性的开闭标签包裹内容

内容的提问来源于stack exchange,提问作者Pedro Nogueira Lima

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:24:03