是否无法在用户定义的命令中调用另一个用户定义的命令?在用户定义的命令中调用另一个用户命令
我尝试了以下两行,但他们都没有工作:
command! GetRapidLinks FindRapidLinks|MatchesOnly
command! GetRapidLinks :FindRapidLinks|:MatchesOnly
Vim的帮助下写着:
不能使用 “:X”, “:下一步” 和“:打印“
此限制的上下文不明确。我想不能在用户定义的命令中使用这些命令,对吧?
是否无法在用户定义的命令中调用另一个用户定义的命令?在用户定义的命令中调用另一个用户命令
我尝试了以下两行,但他们都没有工作:
command! GetRapidLinks FindRapidLinks|MatchesOnly
command! GetRapidLinks :FindRapidLinks|:MatchesOnly
Vim的帮助下写着:
不能使用 “:X”, “:下一步” 和“:打印“
此限制的上下文不明确。我想不能在用户定义的命令中使用这些命令,对吧?
这可能是因为您没有用-bar
定义:FindRapidLinks
命令;没有它,命令“吃掉”整个剩余的参数(cp。:help command-bar
)。所以,要么重新定义:
:command! -bar FindRapidLinks ...
:command! GetRapidLinks FindRapidLinks|MatchesOnly
或解决此通过:execute
(对于情况下,当你不能重新定义其它命令):
:command! GetRapidLinks execute 'FindRapidLinks'|MatchesOnly
一般来说,使用-bar
除非您的自定义命令需要被传递的参数包含特殊字符如|
。
也许尝试反引号`(不被误用引号“或“)
为如
command! GetRapidLinks `FindRapidLinks` | MatchesOnly
或
command! GetRapidLinks $(FindRapidLinks) | MatchesOnly
其实,帮助的意思是,你可以不要拨打用户命令:Next
或:X
,因为这些是少数内置命令,以资本开始之三。我不知道,为什么你的vim竟然说,你不能定义一个:Print
命令,因为它是可以定义自己的自定义:Print
命令(因为内置命令只对:print
无论如何别名)
我不知道,你到底想要达到什么目标,所以我不能回答你问题的第一部分。然而,你可以在一个函数或一个自定义命令中调用另一个自定义命令。
谢谢。我尝试了两个。 Vim回应道:E492:不是编辑指挥。 –