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