vim: 두 명령에 대한 명령 매핑으로 E488 제공

vim: 두 명령에 대한 명령 매핑으로 E488 제공

Build사용된 빌드 시스템과 관계없이 빌드를 시작하는 명령이 필요합니다 .

command! -nargs=* Build :Makeshift<Bar>MakeshiftBuild <args>

나에게주세요

E488: Trailing characters

둘 중 하나를 매핑하여 작동할 수 있지만 둘 다 오류가 발생합니다. -bar지도에서 시도해 봤습니다 . 임시변통을 사용하도록 변경할 수 없습니다.

다음은 작동합니다:

function! s:BuildFun(what2build)
    execute 'Makeshift'
    execute 'MakeshiftBuild '.a:what2build
endfunction
command! -nargs=* Build :call s:BuildFun(<q-args>)

누군가 한 줄이 작동하지 않는 이유나 작동시키는 방법을 명확히 해 주실 수 있습니까? 단지 통찰력을 얻기 위해서입니다.

답변1

대답은 주석에 있습니다: Makeshiftis Defined Withoutparameters -bar. Wim에서 help command:

-bar        The command can be followed by a "|" and another command.
            A "|" inside the command argument is not allowed then.
            Also checks for a " to start a comment.

이 경우 위에 표시된 대로 이 기능을 사용할 수 있으므로 플러그인 저장소를 포크할 필요가 없습니다. 이것이 지적한 바와 같이 일반적인 해결책입니다.https://stackoverflow.com/a/3266791/1803897.

관련 정보