我将GNU Emacs on Windows与git-bash一起用于locate
,grep
和find
等unix工具。 git-bash工具以下列形式吐出路径:
/c/path/to/file/file.txt
Emacs需要find-file
,find-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
一样。所以我的问题是什么是一个更普遍的地方来挂钩这个转换器,以使甚至交互式呼叫正常工作?
答案 0 :(得分:0)
jenesaisquoi的评论将我带到cygwin-mount.el。我用 gitbash 尝试了它 - 它神奇地起作用了!
原因是 gitbash 提供了与 cygwin 相似的mount
命令,而 gitbash 的路径是 cygwin 路径。
只需确保gitbash二进制文件位于emacs'PATH
环境变量中。