vifm:来自 %c 宏的 Windows 格式的文件名

vifm:来自 %c 宏的 Windows 格式的文件名

我正在尝试设置一个映射以使用 OS 默认应用程序打开文件。我不想在我的 vifmrc 中使用 filetype 命令,如所述这里,因为我希望l仍然Enter使用 vim 打开文件。(我仍然有太多记事本关联。)所以我尝试了以下映射:

map o :!start "" "%d\%c"
map o :!start "" "%d\%c:gs?\ ? ?"

但是,使用其中一个带 Spaces.docx 的文件,我收到错误消息

Windows cannot find 'c:\path\subpath\File\ with\ Spaces.docx'...

如何将文件名转换为 Windows 友好格式,而不在文件名中使用反斜杠?

答案1

一些%{x}宏具有附加%"{x}形式,以解决 cmd.exe 无法处理正确转义的问题(文档)。

尝试以下操作(noremap大多数时候您想要的是而不是map和使用:p文件名修饰符比组合%d和更通用%c):

noremap o :!start "" %"c:p

相关内容