在Neovim中复制多行并替换文件匹配内容的方法
在Neovim中批量替换多行内容并提取变量
操作步骤
复制目标多行块
- 按
V进入可视行模式,选中任意一个完整的数组块(从[到])的所有行) - 输入
"ay,将选中内容存入a寄存器
- 按
添加变量定义
- 光标移到文件开头,按
o插入新行 - 输入
my_vars =,再输入"ap粘贴寄存器a的内容,完成变量定义
- 光标移到文件开头,按
全局替换所有匹配块
- 输入以下替换命令并执行:
:%s/\V\Q<C-r>a/my_vars/g - 命令解释:
%:对整个文件生效\V:启用"非常nomagic"模式,仅反斜杠为正则元字符\Q:将后续内容按字面匹配,无需转义括号、引号等特殊字符<C-r>a:在命令行插入寄存器a中存储的数组块内容my_vars:替换后的目标字符串g:全局替换所有匹配项
- 输入以下替换命令并执行:
补充说明
如果遇到多行匹配不生效的情况,可以先执行:set regexpengine=1切换到Vim兼容的正则引擎,确保多行内容能被正确匹配。
内容的提问来源于stack exchange,提问作者Jared
相关产品推荐
相关产品推荐

