我正在尝试在vim中创建用户定义的命令,以替代quickfixlist命令
我定义了这样的命令:
:command G -nargs=1 cr <args>
现在,当我键入:G 1时,我希望vim执行:cr 1并从quickfix列表转到错误号1。相反,我得到一个“尾随字符”错误。知道可能导致这种情况的原因吗?
谢谢
答案 0 :(得分:3)
您的定义创建G
作为:-nargs=1 cr <args>
的别名,不带任何参数。这就是:G 1
为您提供E488: Trailing characters
的原因。
只运行:G
会产生E492: Not an editor command: -nargs=1 cr
。
修复方法是在命令名称之前移动命令属性:
:command -nargs=1 G cr <args>
这种方式-nargs=1
被解释为属性,而不是命令替换的一部分。