在MSYS2中使用zsh
有一个问题:如果需要访问windows路径,zsh
的自动补全插件是不认识像/d/下载
这样的路径的,因为ls /
确实没有/d/
这样的路径存在,是系统调用的时候,才会告诉你确实可以从/d/
读到数据。
此问题可以用zsh
补全插件的fakepath
概念解决。如下脚本会在zsh启动时自动配置所有磁盘的fakepath
,不是频繁使用U盘的话足够了。
# complete hard drives in msys2 drives=$(mount | sed -rn 's#^[A-Z]: on /([a-z]).*#\1#p' | tr '\n' ' ') zstyle ':completion:*' fake-files /: "/:$drives" unset drives