在Cygwin Emacs中配置PowerShell控制台的路径

时间:2016-02-09 08:34:15

标签: windows powershell emacs cygwin

我让Emacs通过Cygwin istall运行。在Emacs中,我安装了(通过package-installpowershell个包;但是,当我运行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以指向正确的路径?

2 个答案:

答案 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函数来摆脱它,我不知道: - (