我正在尝试编写一个简单的 vim 命令来获取一些文本并清理其他所有内容。
以下 Vim脚本执行此操作:
:let @a=""|%s//\=setreg('A', submatch(0), 'l')/g|%d _|pu a|0d _
我将此脚本放入自定义命令中:
command! Getlinks :let @a=""|:%s/something/\=setreg('A', submatch(0), 'l')/g|:%d _|:pu a|:0d _
当我运行Getlinks
命令时,它会删除所有内容,但不会放置匹配的文本。但是当我手动运行脚本的命令时,它会按预期工作。为什么它在用作Getlinks
命令时不放置匹配的文本。