WindowsのEmacs23.2(最新バージョン)でcmdターミナルを起動しようとしています。
Manual によると、M-x term
と入力すると、Emacsでターミナルモード(ターミナルの新しいバッファーを開始)に入ることができます。
これを行うと、次のプロンプトが表示されます。
Run program: path_to-emacs/bin/cmdproxy.exe
RET
と入力すると、ミニバッファに次のエラーメッセージが表示されます。
Spaning child process: invalid argument
それを機能させる方法はありますか?
ありがとう、
次のことを行う必要があります。
M-:(make-comint-in-buffer "cmd" nil "cmd" nil)
M-xeshell
M-xシェル
すべてに長所と短所の両方があります。だからあなたに最も合うものを選んでください。
M-x compile
を実行しようとしたときに同じエラーが発生しました。 .emacs
ファイルに以下を追加したところ、問題が修正されました。
;; Make sure that the bash executable can be found
(setq explicit-Shell-file-name "C:/cygwin/bin/bash.exe")
(setq Shell-file-name explicit-Shell-file-name)
(add-to-list 'exec-path "C:/cygwin/bin")
明らかに、このソリューションはCygwinがインストールされている場合にのみ機能しますが、WindowsでEmacsを実行している場合、多くのEmacsコマンドはcygwin(M-x compile
私の場合)。
同じ問題がありました。
私はprocmonを実行し、Emacsが何らかの形式(c:\bin\sh
、sh.exe
、sh.bat
など)でsh.cmd
を見つけたいと思っていることを発見しました。
たまたまAndroidデバッグシェル)で用語モードを使用したかったので、コンテンツ「adbShell」でc:\bin\sh.bat
を作成しましたが、正常に動作しました。いくつかの奇妙な入力ラグ。
Cmd.exeでterm
またはansi-term
を使用する場合、またはWin32Emacsを使用するWindowsでCygwinbashを使用する場合は、次のプロジェクトを参照してください。
Win10では非常にうまく機能します。
代わりにM-x cmd-Shell
を試してください。最良の結果を得るには、 EmacsW32
を使用することをお勧めします。