在 Emacs 中自动使用 Cygwin Bash

在 Emacs 中自动使用 Cygwin Bash

我在 Windows XP 上运行 EmacsW32。

我想知道在执行时如何告诉 Emacs 启动 Cygwin shell M-x shell。现在它启动 Windows cmd shell,我必须手动启动 Cygwin shell。

我知道这是可以做到的,因为在重新安装 Windows 之前我已经成功做到了。但现在我找不到说明。

答案1

这似乎有您正在寻找的信息: http://www.khngai.com/emacs/cygwin.php

具体来说,在文件中添加以下内容.emacs

(add-hook 'comint-output-filter-functions
'shell-strip-ctrl-m nil t)

(add-hook 'comint-output-filter-functions
'comint-watch-for-password-prompt nil t)

(setq explicit-shell-file-name "bash.exe")

;; For subprocesses invoked via the shell
;; (e.g., "shell -c command")
(setq shell-file-name explicit-shell-file-name)

答案2

我发现更简单的替代方法是设置这样的环境变量:

variable ESHELL, value c:\ProgramFiles\cygwin\bin\bash.exe

(当然也可以是安装 Cygwin 的地方)

相关内容