vi의 커서위치를 다른 sub 프로그램에 전달하기

jj의 이미지

안녕하세요?

vi에서 현재 위치정보(몇번째 줄, 몇번째 컬럼)을 make script로 전달 하는게 가능한지요?

xdvi에 latex으로 작업중인 문서의 소스위치를 넘기고 싶어서요...

그럼 안녕히...

liberta의 이미지

~/.viminfo 파일에 재미난 것들이 많이 기록되어 있긴 합니다.

그런데 그 파일의 특정 내용을 make script로 넘기는 건 약간의 삽질, 아니... "작업"이 필요하겠군요 :)

cdpark의 이미지

LaTeX의 몇번째 줄이 dvi 파일의 몇번째 page인지도 계산해줘야 할텐데요?

jj의 이미지

cdpark wrote:
LaTeX의 몇번째 줄이 dvi 파일의 몇번째 page인지도 계산해줘야 할텐데요?

latex -src-specials xxx.tex // 일종의 DEBUG정보 포함 옵션입니다
xdvi -sourceposition 100:20xxx.tex xxx.dvi & // 100,20으로 이동

흠... 윈도우에서 WinEdt, Yap등으로 작업하면 이게 되죠...

--
Life is short. damn short...

jj의 이미지

자답이네요.

오래도안 묻어두었다가 다시 논문작업에 들어가면서 궁금했던걸 해결했습니다.

line, col이라는 내장함수가 있더군요.

VIM script manual을 조금만 살펴보니 있더라구요. 부끄럽네요 :)

다음과 같이 mapping시켜서 사용하면 되겠습니다.

map <F1> :execute "!LINE=" . line(".") . " COL=" . col(".") . " FILE=% make"

이런식으로 make에 환경변수로 넘기고 make 안에서는 $(LINE)이런식으로 사용하였습니다.

Makefile안에서는 대략 다음과 같습니다.

        latex -src-specials thesis.tex
        xdvi -sourceposition $(LINE):$(COL)$(FILE) thesis.dvi &

ps. ktug에도 질문과 답변이 올라갔습니다. ㅡ.ㅡa

--
Life is short. damn short...