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
您可能还想查看dwm或ratpoison 之类的窗口管理器,它们与您的要求非常接近。