在Windows下将路径转换挂钩到Emacs的最佳位置

时间:2016-10-06 07:39:13

标签: shell emacs path elisp hook

我将GNU Emacs on Windowsgit-bash一起用于locategrepfind等unix工具。 git-bash工具以下列形式吐出路径:

/c/path/to/file/file.txt

Emacs需要find-filefind-file-at-point或(helm - 包)功能helm-find-file其形式的路径

c:/path/to/file/file.txt

我写了一个转换器函数,它将前者转换为后者,然后通过defadvice中的expand-file-name将其挂钩。这很合理(例如,在我的初始用例中,helm-locate与git-bash locate合作)。

但是在某些情况下它不起作用,就像交互式使用find-file-at-point一样。所以我的问题是什么是一个更普遍的地方来挂钩这个转换器,以使甚至交互式呼叫正常工作?

1 个答案:

答案 0 :(得分:0)

jenesaisquoi的评论将我带到cygwin-mount.el。我用 gitbash 尝试了它 - 它神奇地起作用了!

原因是 gitbash 提供了与 cygwin 相似的mount命令,而 gitbash 的路径是 cygwin 路径。

只需确保gitbash二进制文件位于emacs'PATH环境变量中。