我正在尝试使用emacs进行cygwin.我的环境是Windows 7 x64,emacs-24.0.93.1,cygwin 2.769,系统编码是gbk,cygwin的编码系统默认为utf-8,而emacs的编码系统默认为gbk
我用setup- cygwin用emacs设置cygwin.我可以使用cygwin bash启动emacs shell.但是我遇到了两个问题.首先,在bash开始时有两个警告
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
Run Code Online (Sandbox Code Playgroud)
其次,在bash响应之后,出现了一些奇怪的字符.

有谁知道发生了什么?
每当我尝试从我的Windows发行版GNU Emacs启动Mx术语时,我都会收到错误消息:
apply: Spawning child process: invalid argument
Run Code Online (Sandbox Code Playgroud)
接受默认程序运行("bash.exe"或"zsh.exe",来自Cygwin,并出现在我的Windows PATH环境变量中).
Mx shell可以与Cygwin的Zsh/Bash一起使用.但是我想使用Term来获得更多功能......
有帮助吗?
尝试在 Windows 上的 Emacs 中启动连接到 MSYS2 的劣质 shell(Mx shell)。
我从Mastering Emacs - Running Shells in Emacs Mastering Emacs 中找到了这段代码,并对其进行了修改:
(setq explicit-shell-file-name "D:/msys64/usr/bin/bash.exe")
(setq shell-file-name "bash")
(setq explicit-bash.exe-args '("--login" "-i")) <- Have also tried -c, and without "--login"
(setenv "SHELL" shell-file-name)
(add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m)
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
]0;~
me@computer MSYS ~
$
Run Code Online (Sandbox Code Playgroud)
所以我有一些额外的愚蠢字符和一个不适当的命令传递到 MSYS shell,但这是进步!Windows 上的 MSYS2 + Emacs 会很棒。