7

我想使用 gVim 在拆分窗口中查看 pdf 文件,有人知道这是否可能吗?如何?

一些细节:我最近才开始使用 vim 并用它做笔记,同时阅读 pdf。我自己写笔记,但我经常从 pdf 中复制文本,所以流畅的复制会很好。目前我需要 alt+tab 来查看 pdf 查看器,转到鼠标或箭头键,选择文本,复制,alt+tab 回到 vim。当然这不是一项艰巨的任务,但使用 vim 我觉得没有鼠标,双手保持在“主行”,并且不需要外部程序 alt+tab 来...

理想情况下,我希望 pdf 按原样显示。如果那不可能,我将尝试使用一些插件将 pdf 显示为文本表示。

4

2 回答 2

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命令有一个脚本,可以在打开这些文件之前将它们转换为 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 之类的窗口管理器,它们与您的要求非常接近。

于 2012-08-11T19:16:39.580 回答
2

您可以安装一个插件,允许您查看 pdf 中的文本,但是我对 gVim 不熟悉,所以我不知道这个wiki 页面是否适用于您。

于 2012-08-11T19:13:36.163 回答