答案较晚,但 Xaizek 的解决方案包含一些不准确之处且不完整,因为如果您愿意跳过一个小圈子,就有可能通过对话获得开放:
要使用 AcroRd32 默认打开 pdf 文件,您应该在 vifmrc 中添加以下行:
filextype *.pdf
\ {View in AR}
\ "C:/Program Files (x86)/Adobe/Acrobat Reader DC/Reader/AcroRd32.exe" %"f &,
注意正斜杠。没有这些命令将不起作用。在任何 filextype 行的末尾添加 &, 通常也是一个好主意。这将允许 acrord32 在后台打开并且不会中断您的 vifm 会话;否则您必须关闭 pdf 才能继续使用 vifm。
第二点,'start' 后面需要空的双引号才能在这里工作:
filextype *.pdf
\ {View in default application}
\ start "" %"c &,
另一种方法是使用explorer 代替start ""。值得注意的是,这只会让您一次打开一个文件,而不是批量打开每个选定的 pdf。
您还可以通过 shell 打开特定程序中的任何文件,例如:!gvim %"c & 将在 gvim 中打开当前选择的文件。您也可以将%"c 替换为当前目录中所需的任何文件名。
最后,您可以通过以下方法为任何选定的文件打开对话框:
在您的 vifm 目录(或路径中的任何其他位置)中创建文件 ow.cmd,其中包含以下内容:
Rundll32.exe shell32.dll,OpenAs_RunDLL %~1
然后将以下内容添加到您的 vifmrc 中:
" Create 'open with' dialogue box for selected file
nnoremap go :!ow.cmd %"c:p &<cr>
现在,如果您在 vifm 中点击go,它将为当前选定的文件弹出一个“打开方式”对话框。遗憾的是,外部脚本对于删除 %"c:p 附加的文件名中的引号是必需的。