如何在windows下的mintty下以CLI模式运行emacs?

时间:2013-01-22 18:16:30

标签: emacs cygwin mingw msys

我正在使用mintty + msys。我想用它来使用emacs。但没有GUI 我在cygwin中看到了这种行为。但我无法理解他们是如何做到的。

$ emacs -nw
  emacs: standard input is not a tty

$ stty.exe -a
  speed 38400 baud; rows 24; columns 80; line = 0;
  intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
  eol2 = <undef>; swtch = ^Z; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
  werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
  -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
  -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
  -iuclc ixany imaxbel
  opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
  isig icanon iexten echo echoe echok -echonl -noflsh -tostop echoctl echoke

$ echo $TERM
  xterm

2 个答案:

答案 0 :(得分:5)

如果你想使用带有mintty的tty emacs,你可能需要使用cygwin的emacs。本机win32 emacs想要与Windows控制台窗口交谈,而不是与实际的tty交谈 - 错误消息在这里会产生误导。

另一种选择,如果你想坚持原生的win32 emacs,就是使用ConEmu,而不是薄荷。它提供了兼容的Windows控制台界面,同时还提供了普通终端模拟器的所有细节,如mintty。

答案 1 :(得分:5)

您应该使用Check if application was started from within Visual Studio

winpty emacs -nw
  

winpty是一个Windows软件包,提供类似于Unix pty-master的界面,用于与Windows控制台程序进行通信。该软件包包含一个库(libwinpty)和一个用于Cygwin和MSYS的工具,用于在Cygwin / MSYS pty中运行Windows控制台程序。

您的案例中的Emacs实际上是&#34; Windows控制台程序&#34;。