2010-09-18 35 views
7

Tôi vừa mới bắt đầu sử dụng Vim-LaTeX.Làm cách nào để làm cho vim-latex biên dịch chính xác mà không phải lưu?

Mặc định dvi đầu ra không hoạt động đối với tôi, vì vậy tôi đã thay đổi mặc định thành pdf bằng cách thêm "let g:Tex_DefaultTargetFormat = 'pdf'" vào tex.vim của tôi.

Vấn đề duy nhất là tôi cần phải lưu tài liệu của mình trước (:w) trước khi biên dịch nó (\ll) và xem trong Evince (\lv). Nếu tôi không lưu nó, và chạy \ll\lv, latex được chạy trên tệp đã lưu trước khi tôi bắt đầu chỉnh sửa và không phải trên bộ đệm chứa tệp đã chỉnh sửa của tôi.

Tôi làm cách nào để vim lưu tệp của mình và biên soạn tài liệu của mình khi tôi nhấn \ll? Cảm ơn!

Trả lời

9

đây không phải là giải pháp hoàn hảo nhưng nó sẽ làm việc, xác định một bản đồ mới trong vimrc của bạn:

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

làm việc này nhưng có nên tồn tại một cách sạch hơn để làm điều này.

+0

Tuyệt vời! Những công việc này. Có lẽ có một cách sạch hơn để làm điều này ... hoặc có thể Latex của tôi bị định cấu hình sai trên hệ thống của tôi. Nhưng điều này giải quyết vấn đề của tôi! Cảm ơn! – hwong557

+2

điều này làm cho vim biên dịch ở chế độ chèn và sau đó trả về con trỏ trở lại nơi đó chỉ là trước khi nhấn : imap : w ll một –

1

Tôi đã chuyển từ bộ sản phẩm latex và hiện tôi đang sử dụng latexmk hoạt động thực sự tốt.

1

Điều này thực hiện cụ thể những gì bạn đã hỏi. Thêm dòng sau vào .vimrc hoặc bạn tương đương:

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 lệnh của bạn nên là:

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, " được sử dụng để lấy ý kiến ​​trong vim.

+0

'" 'cũng dường như được sử dụng cho các chuỗi (http: // learnvimscriptthehardway .stevelosh.com/chương/26.html) – brixenDK

0

Bạn có thể thử: -

:w | !pdflatex "filename" 

Tôi tin rằng điều này sẽ làm việc tốt trong trường hợp của bạn.

Các vấn đề liên quan