我让Emacs通过Cygwin istall运行。在Emacs中,我安装了(通过package-install
)powershell
个包;但是,当我运行M-x powershell
时,我收到以下错误:
搜索程序:没有这样的文件或目录,c:\ windows \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe
此处的问题是,c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe
的路径应为PowerShell.exe
,而不是/cygdrive/c/windows/system32/WindowsPowerShell/v1.0/powershell.exe
我的问题是:如何配置包powershell
以指向正确的路径?
答案 0 :(得分:2)
您可以直接使用powershell-location-of-exe
文件中的setq
设置变量.emacs
:
(setq powershell-location-of-exe "/cygdrive/c/windows/system32/WindowsPowerShell/v1.0/powershell.exe")
或通过M-x customize-option
。
答案 1 :(得分:2)
我是这样做的。它处理不同的cygwin驱动器前缀(我将我的设置设置为/ in / etc / fstab):
(when (eq system-type 'cygwin)
(setq powershell-location-of-exe
(s-trim (shell-command-to-string "which powershell.exe"))))
s-trim
来自ELPA上提供的s.el库,如果您还没有,则需要在.emacs的顶部添加(require 's)
。这是必要的,因为which
似乎返回一个带有尾随换行符的字符串,虽然可能有一个内置的Emacs函数来摆脱它,我不知道: - (