2012-05-31 2 views

답변

2

exec를 사용해보십시오 :

exec 'call system("~/script " . expand("%"))' 

을 수행하려는 작업에 따라 당신이 (같은 :h system() 알) 모두에서 exec 필요하지 않을 수도 있습니다 :

let foo = system("~/script " . expand("%")) 
+0

좋아요, 그렇다면 변수'rev'를 어떻게 "먹일"수 있습니까? –

+0

@putputer : 방금 시스템 호출의 출력 변수를 사용하여 내 대답을 편집했습니다. exec 명령은 대개 Ex 명령과 상호 작용하려는 경우에만 필요합니다. – kongo2002

+0

'shelllescape()'를 사용하지 않았 으면 좋겠군, 괜찮아.) = –

0

expand() (감사 kongo2002)와 주변 재생 :

let script="~/script " . expand("%") 
let rev=system(script) 

매력으로 작동 =)

+1

여기서'shellescape()'를 사용해야합니다. 같은 이유로'! ~/script %'를 사용하면 안됩니다 :'%'는 파일 이름을 이스케이프 처리하지 않고 전달합니다. – ZyX

관련 문제