我想使用gVim在拆分窗口中查看pdf文件,是否有人知道这是否可行?怎么样?
一些细节:我刚刚开始使用vim并用它来做笔记,同时阅读pdf。我写自己的笔记,但我经常从pdf复制文本,所以顺利复制会很好。目前我需要alt + tab for pdf viewer,转到鼠标或箭头键,选择文本,复制,alt + tab返回vim。当然这不是一项艰巨的任务,但是使用vim我觉得没有鼠标可以实现,将手放在“主行”,而不需要外部程序alt + tab来...
理想情况下,我希望显示pdf,因为它应该是。如果那是不可能的,我将尝试使用一些插件将pdf显示为文本表示。
答案 0 :(得分:6)
Vim是一个文本编辑器,所以它只编辑文本。所以,是的,您可以在二进制级别编辑PDF,但是不能查看PDF的内容,因为它们是要显示的。您可以使用xpdf
包将PDF首先转换为文本然后查看,但结果并不完美。但是,有一些有用的自动命令允许您在vim中“打开”它们时使用默认程序打开非文本文件。我用这些:
augroup nonvim
au!
au BufRead *.png,*.jpg,*.pdf,*.gif,*.xls* sil exe "!open " . shellescape(expand("%:p")) | bd | let &ft=&ft
au BufRead *.ppt*,*.doc*,*.rtf let g:output_pdf = shellescape(expand("%:r") . ".pdf")
au BufRead *.ppt*,*.doc*,*.rtf sil exe "!/usr/local/bin/any2pdf " . shellescape(expand("%:p"))
au BufRead *.ppt*,*.doc*,*.rtf sil exe "!open " . g:output_pdf | bd | let &ft=&ft
augroup end
如果您使用的是Linux发行版,则可以使用!open
代替!xdg-open
。 any2pdf
命令有一个script I use,可以在打开文件之前将这些文件转换为PDF格式。如果您只想使用默认程序打开所有内容,则可以编辑此项。例如,
augroup nonvim
au!
au BufRead *.png,*.jpg,*.pdf,*.gif,*.xls*,*.ppt*,*.doc*,*.rtf sil exe "!open " . shellescape(expand("%:p")) | bd | let &ft=&ft
augroup end
答案 1 :(得分:2)
您可以安装一个允许您以pdf格式查看文本的插件,但我不熟悉gVim,因此我不知道这个wiki page是否适用于您。