是否無法在用戶定義的命令中調用另一個用戶定義的命令?在用戶定義的命令中調用另一個用戶命令
我嘗試了以下兩行,但他們都沒有工作:
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:不是編輯指揮。 –