我已经按照How can I run Cygwin Bash Shell from within Emacs?这个问题的说明进行了操作,我已经进一步添加了(setq explicit-bash-args '("--login" "-i"))
命令,但是当我输入M-x shell
时,emacs继续只显示dos提示符。总之,我的.emacs文件如下所示:
(defun cygwin-shell ()
"Run cygwin bash in shell mode."
(interactive)
(let ((explicit-shell-file-name "C:/cygwin/bin/bash"))
(call-interactively 'shell)))
(setq explicit-bash-args '("--login" "-i"))`
请在答案中保持温和,因为我就在着名的垂直emacs学习曲线的底部!
答案 0 :(得分:4)
如果您从该问题实施了回答,请注意您必须执行M-x cygwin-shell
才能启动bash。如果您想为每个M-x shell
使用它,您需要致电
(setq explicit-shell-file-name "C:/cygwin/bin/bash")
既然你说过你正在学习,这里有一些提示。
C-x C-f ~/.emacs
以在您的用户路径中打开.emacs文件。M-x load-file [RET] .emacs
:加载缓冲区(无需重启emacs)C-h a
:如果您对某些特定操作感兴趣,可以查找C-h v [RET] variable
:可以检查变量,例如检查explicit-bash-args
的值而且,顺便说一句,我不确定“--login -i”是做什么的,但是有人在评论中说你应该这样,所以“ls”会起作用。如果你的PATH环境变量中有你的cygwin bin路径,那么bash会找到ls。也不需要转义路径变量,这是由bash处理的(当你使它运行时你会看到bash中的echo $PATH
)。