2013-08-23 5 views
1

현재 사용중인 * .tex 파일을 컴파일하고 pdf 뷰어에 표시 할 새 명령을 만들고 싶습니다. 미리보기를 사용하기 때문에 OSX를 사용하고 있습니다. 내 시도는 다음과 같습니다..vimrc의 bash 명령에서 '#'사용

autocmd BufReadPost,BufWritePost *.tex nmap <Leader>b :!TEMP=% && PDF=${TEMP:0: ${#TEMP}-4 } && echo $TEMP && "/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode % && open $PDF && unset TEMP PDF<CR> 

TEMP는 mit * .tex 파일의 파일 이름입니다.

PDF는 내 * .pdf의 파일 이름입니다.

그러나 나는 다음과 같은 오류 메시지가 얻을이 실행할 때 :

499: Empty file name for '%' or '#', only works with ":p:h" 

'#'을 사용하지 않고 문자열을 단축 할 수있는 다른 방법이 있습니까를?

솔루션 :

autocmd BufReadPost,BufWritePost *.tex nmap <Leader>b :!PDF="%<.pdf" && "/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode "%" && open "$PDF" && unset PDF<CR> 

답변

3

왜 오류 메시지의 제안을 사용하고 vim 스크립트에서 대신 쉘에서 PDF을 설정하지? 그것을 적절한 확장을 제공하는

PDF=%< 

또는

PDF=%<.pdf 

PDF=${TEMP:0: ${#TEMP}-4 } 

교체합니다.

관련 문제