如何用IdeaVim批量删除JSON键名引号?无需重复操作与宏
解决IdeaVim下批量删除JSON键名引号的问题
无需重复操作和宏的实现方法
正则替换法(纯IdeaVim命令):
进入命令模式,输入以下命令直接完成全文件替换::%s/"\(\w\+\)":/\1:/g命令解释:
%表示作用于整个文件,s是替换指令,"\(\w\+\)":匹配带引号的键名(如"key":),捕获组\1提取键名本身,最终替换为key:的格式,g表示全局替换所有匹配项。结合IntelliJ原生模式:
临时切换回IntelliJ原生编辑模式(快捷键<C-\><C-n>),用你熟悉的多光标操作(Ctrl+右键选中所有键名的引号,按Del删除),完成后再按<C-\><C-n>切回IdeaVim模式即可。
关于IntelliJ与Vim的场景对比
这个场景下IntelliJ的多光标操作确实更直观、上手成本低,不需要记忆正则语法就能快速完成。但Vim的正则替换也是一次性完成的操作,不算重复操作,只是依赖对正则和Vim命令的熟悉度。两者不存在绝对的优劣,只是适用场景和操作习惯不同——如果你偏好可视化、直观的操作,IntelliJ的方式更顺手;如果习惯Vim的命令式操作,正则替换的灵活性也能覆盖这类需求。
内容的提问来源于stack exchange,提问作者steffmaster
相关产品推荐
相关产品推荐

