1

我在 Win 10 上,想摆脱 Windows-Explorer 并主要使用我的键盘和 vifm。但是我在为特定应用程序分配文件扩展名时遇到问题。我想打开的所有东西都是用内置的 vim 打开的,而不是我的外部应用程序。

这是我的配置中的一个示例:

" Pdf
filextype *.pdf
    \ {View in AR}
    \ C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe %f

我现在有两个问题: - vifm 中真的没有“打开方式”功能吗?不敢相信.... - 如何在我的 win 环境中正确分配文件类型?

谢谢4你的支持!!

4

2 回答 2

1

您需要使用该命令修复两件事:

  1. 通过将路径括在引号中来转义路径中的空格(vifm 检查程序是否存在,因此需要能够从命令行提取可执行路径)。
  2. 使用 Windows 友好的宏%"f而不是%f.

这会给你:

" Pdf
filextype *.pdf
    \ {View in AR}
    \ "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" %"f

哪个应该工作。

vifm 中真的没有“打开方式”功能吗?

取决于你的意思。有一个:file命令,它将显示已注册文件关联的列表。如果您只想与那些在 Windows 中注册的人一起使用,请使用 catch-all association filetype * start。如果您正在谈论像资源管理器中的“打开方式”菜单,那么不,不会执行注册关联的此类查询。

于 2017-04-29T21:15:22.353 回答
0

迟到的答案,但 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。

在第二点上,“开始”需要空双引号后才能在这里工作:

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>

现在,如果您go在 vifm 中点击,它将为当前选定的文件弹出一个“打开方式”对话框。遗憾的是,外部脚本是必要的,以便从附加的文件名中删除引号%"c:p

于 2020-02-23T00:39:48.800 回答