2010-09-18 11 views
7

Właśnie zacząłem używać Vim-LaTeX.Jak dokonać prawidłowej kompilacji vim-latex bez konieczności zapisywania?

Domyślne wyjście dvi nie działa dla mnie, więc zmieniłem domyślną wartość na pdf, dodając "let g:Tex_DefaultTargetFormat = 'pdf'" do mojego tex.vim.

Jedynym problemem jest to, że najpierw muszę zapisać mój dokument (:w) przed jego skompilowaniem (\ll) i przejrzeć w aplikacji Evince (\lv). Jeśli go nie zapiszę i uruchomię \ll i \lv, latex zostanie uruchomiony na zapisanym pliku, zanim zacznę go edytować, a nie na buforze zawierającym mój edytowany plik.

Jak zrobić, aby vim zapisał mój plik i skompilował mój dokument po trafieniu na \ll? Dzięki!

Odpowiedz

9

nie jest to idealne rozwiązanie, ale to będzie działać, zdefiniować nową mapę w .vimrc:

map <f2> :w<cr><leader>ll 

to działa, ale nie powinno istnieć czystszy sposób to robi.

+0

Świetnie! To działa. Być może istnieje czystszy sposób robienia tego ... a może mój Latex jest źle skonfigurowany w moim systemie. Ale to rozwiązuje mój problem! Dzięki! – hwong557

+2

to sprawia vim skompilować w trybie wstawiania, a następnie zwraca kursor tam, gdzie było to tylko przed uderzeniem : IMAP : w ll od '" 'wydaje się również być stosowane do ciągów –

1

Odtąd przeniosłem się z pakietu lateksowego i używam teraz latexmk, który działa naprawdę dobrze.

1

Dokładnie to, o co prosiłeś. Dodaj następujące do równowartości .vimrc czyli

autocmd FileType tex call Tex_MakeMap("<Leader>ll", ":w <CR> <Plug>Tex_Compile", 'n', '<buffer>') 
autocmd FileType tex call Tex_MakeMap("<Leader>ll", "<ESC> :w <CR> <Plug>Tex_Compile", 'v', '<buffer>') 
1

@dc46and2 Twoje polecenie powinno być:

autocmd FileType tex call Tex_MakeMap('<leader>ll', ':update!<CR>:call Tex_RunLaTeX()<CR>', 'n', '<buffer>') 
autocmd FileType tex call Tex_MakeMap('<leader>ll', '<ESC>:update!<CR>:call Tex_RunLaTeX()<CR>', 'v', '<buffer>') 

AFAIK, " służą do komentarzy w vim.

+0

(http: // learnvimscriptthehardway .stevelosh.com/rozdziały/26.html) – brixenDK

0

Można spróbować: -

:w | !pdflatex "filename" 

Wierzę, że to będzie działać dobrze w Twoim przypadku.

Powiązane problemy