0

我正在尝试编写一个简单的 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命令时不放置匹配的文本。

4

1 回答 1

1

删除那些:,试试这一行:

command! Getlinks let @a=""|%s/something/\=setreg('A', submatch(0), 'l')/g|%d _|pu a|0d _
于 2013-09-05T14:54:58.107 回答