diff options
-rw-r--r-- | vim/.latexmkrc | 5 | ||||
-rw-r--r-- | vim/.vim/after/ftplugin/tex.vim | 13 |
2 files changed, 12 insertions, 6 deletions
diff --git a/vim/.latexmkrc b/vim/.latexmkrc index 8ee0b76..c4ec9ee 100644 --- a/vim/.latexmkrc +++ b/vim/.latexmkrc @@ -13,10 +13,7 @@ $pdf_previewer .= 'zathura'; # -x for synctex: connect to the rpc socket, switch to the file and jump to the line $pdf_previewer .= ' -x "nvim --headless --cmd'; $pdf_previewer .= ' \'let skt=sockconnect(\\"pipe\\",\\"$SERVER\\",{\\"rpc\\":1})'; -$pdf_previewer .= ' | call rpcrequest(skt,\\"nvim_command\\",\\"tab drop %{input}\\")'; -$pdf_previewer .= ' | call rpcrequest(skt,\\"nvim_command\\",\\"%{line}\\")'; -# mysteriously, we need `cd .` to fix the file name in the tabline -$pdf_previewer .= ' | call rpcrequest(skt,\\"nvim_command\\",\\"cd .\\")'; +$pdf_previewer .= ' | call rpcrequest(skt,\\"nvim_command\\",\\"call SyncPDFToTeX(\\\\\\"%{input}\\\\\\",\\\\\\"%{line}\\\\\\")\\")'; $pdf_previewer .= ' | call chanclose(skt)'; $pdf_previewer .= ' | quit\'"'; # final argument for zathura is the PDF diff --git a/vim/.vim/after/ftplugin/tex.vim b/vim/.vim/after/ftplugin/tex.vim index de2ec0b..6de2aea 100644 --- a/vim/.vim/after/ftplugin/tex.vim +++ b/vim/.vim/after/ftplugin/tex.vim @@ -1,10 +1,19 @@ setlocal spell spelllang=en_gb setlocal tabstop=2 shiftwidth=2 -function! Synctex() +function! SyncTeXToPDF() call system('zathura --synctex-forward ' . \ line('.') . ':' . col('.') . ':' . shellescape(bufname('%')) . ' ' . \ shellescape(g:synctex_zathura_pdf_filename)) endfunction -map <C-T> :call Synctex()<CR> +function! g:SyncPDFToTeX(input, line) + " Focus the window vim is running in. + exe "silent !i3-msg '[id=\"" . environ()['WINDOWID'] . "\"] focus'" + " Open the file name and jump to the right line. + " Mysteriously, we need `cd .` to fix the file name in the tabline. + " Putting this in one `exe` seems to reduce flickering. + exe 'tab drop ' . a:input . ' | silent ' . a:line . ' | silent cd .' +endfunction + +map <C-T> :call SyncTeXToPDF()<CR> |