5 커서가있는 파일 이름과 현재 줄 번호를 콜론으로 구분하여 외부 쉘 스크립트에 전달하고 싶습니다. 예를 들어, "foo.c"파일을 편집 중이고 현재 77 행에있는 경우 "foo.c : 77"인수를 사용하여 vim에서 스크립트를 호출하려고합니다. vim shell — jpmuc 소스
6 Karalos의 답변에 대한 대안 : :call system('echo ' . expand('%') . ':' . line('.')) 물론 "echo"를 쉘 스크립트 이름으로 바꿉니다. system ()의 장점은 명령 실행의 출력을 반환하므로 필요한 경우 Vim 스크립트에서 나중에 사용할 수 있도록 캡처 할 수 있다는 것입니다. :help expand()어떤 식 으로든 파일 이름을 한정 / 수정해야하는 경우 수정자를 살펴 봐야합니다 . — 헵 타이트 소스 1 또한 shellescape()특수 문자를 보호하기 위해 사용하는 것이 좋습니다. — Chris Johnsen
2 꽤 번거롭지 만 다음을 시도해 볼 수 있습니다. :!echo %:<Ctrl+R>=line(".")<CR><CR> 또는 중간 변수를 사용할 수 있습니다 :let l=line(".") 전화 :!echo %:<Ctrl+R>=l<CR><CR> — 카롤 로스 소스
shellescape()
특수 문자를 보호하기 위해 사용하는 것이 좋습니다.