VIM:可以在拆分窗口中查看pdf文件吗?

时间:2012-08-11 19:11:18

标签: pdf vim

我想使用gVim在拆分窗口中查看pdf文件,是否有人知道这是否可行?怎么样?

一些细节:我刚刚开始使用vim并用它来做笔记,同时阅读pdf。我写自己的笔记,但我经常从pdf复制文本,所以顺利复制会很好。目前我需要alt + tab for pdf viewer,转到鼠标或箭头键,选择文本,复制,alt + tab返回vim。当然这不是一项艰巨的任务,但是使用vim我觉得没有鼠标可以实现,将手放在“主行”,而不需要外部程序alt + tab来...

理想情况下,我希望显示pdf,因为它应该是。如果那是不可能的,我将尝试使用一些插件将pdf显示为文本表示。

2 个答案:

答案 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-openany2pdf命令有一个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

您可能还想查看像dwmratpoison这样的窗口管理器,它们非常接近您的要求。

答案 1 :(得分:2)

您可以安装一个允许您以pdf格式查看文本的插件,但我不熟悉gVim,因此我不知道这个wiki page是否适用于您。