将Emacs M-x shell更改为使用Windows 10 bash

时间:2016-11-04 21:53:54

标签: windows bash emacs windows-subsystem-for-linux

我一直在使用Windows图形化Emacs,我试图将它与Windows 10的新版Windows Bash一起使用。我想要做的是,当我输入Windows Emacs M-x shell时,我希望它使用Windows Bash shell,而不是普通的Windows cmd。我尝试将其添加到我的.emacs文件中:

(setq explicit-shell-file-name "C:/path/to/bash.exe")
(setq shell-file-name "bash")
(setq explicit-bash.exe-args '("--noediting" "--login" "-i"))
(setenv "SHELL" shell-file-name)
(add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m)

我是从here得到的。这一点,当我运行M-x shell时出现Spawning child process: invalid argument错误。我试图省略第三行,因为它是关于参数,但没有做任何事情。有没有办法做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:1)

所以这个defun对我有用,可以启动WSL bash shell。

(defun run-win-ubuntu () (interactive) (let ((shell-file-name "C:\\Windows\\System32\\bash.exe" )) (shell "*ubuntu*")) )