如何在Cygwin环境下的Ranger中使用explorer.exe打开文件夹
在Cygwin的Ranger中用Explorer打开文件夹的解决方案
我之前也碰到过这个问题,在Cygwin下用Ranger的时候,直接输入explorer.exe "$1"确实打不开文件夹——核心原因是Cygwin传递的是类Unix风格的路径(比如/home/your-name/test-folder),而Windows的explorer.exe只识别原生的Windows格式路径(比如C:\cygwin64\home\your-name\test-folder)。下面给你两种实用的解决方法:
方法1:临时输入转换后的命令
当Ranger提示你输入打开命令时,直接用Cygwin自带的cygpath工具转换路径,输入这条命令:
explorer.exe "$(cygpath -w "$1")"
cygpath -w:把Cygwin的Unix路径转换成Windows格式的路径- 外层的双引号:确保路径里包含空格时也能被正确识别
方法2:配置Ranger快捷键,一键打开
如果不想每次都手动输入转换命令,可以给Ranger设置自定义快捷键,一按就触发:
- 打开Ranger的配置文件
~/.config/ranger/rc.conf(如果没有就创建一个) - 添加一行配置:
map r shell explorer.exe "$(cygpath -w "%s")"
- 保存后重启Ranger,以后选中文件夹按
r键,就会直接调用Explorer打开目标文件夹了
额外提示
如果你的Cygwin是通过WSL2运行的(而非原生安装的Cygwin),还可以用wslview命令替代,不过原生Cygwin用上面的方法就完全够用啦。
内容的提问来源于stack exchange,提问作者SdSaati
相关产品推荐
相关产品推荐

