Vim自定义命令不起作用,但它在逐行手动运行时有效

时间:2013-09-05 14:50:16

标签: vim

我正在尝试编写一个简单的vim命令,它将获取一些文本并清除其他所有内容。

以下Vim script执行此操作:

: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命令时,为什么不放置匹配的文本。

1 个答案:

答案 0 :(得分:1)

删除:,请尝试以下行:

command! Getlinks let @a=""|%s/something/\=setreg('A', submatch(0), 'l')/g|%d _|pu a|0d _
相关问题