Подтвердить что ты не робот

Как запустить emacs в режиме CLI под mintty в окнах?

Я использую 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
4b9b3361

Ответ 1

Если вы хотите использовать tty emacs с mintty, вам, вероятно, понадобится использовать cygwin emacs. Собственный win32 emacs хочет поговорить с консольным окном Windows, а не с фактическим tty - здесь сообщение об ошибке вводит в заблуждение.

Еще одна альтернатива, если вы хотите придерживаться родной win32 emacs, заключается в использовании ConEmu, а не mintty. Он предоставляет совместимый консольный интерфейс Windows, а также обеспечивает все тонкости обычного эмулятора терминала, например, mintty.

Ответ 2

Вы должны использовать winpty:

winpty emacs -nw

winpty - это программный пакет Windows, предоставляющий интерфейс, похожий на Unix pty-master для связи с консольными программами Windows. Пакет состоит из библиотеки (libwinpty) и инструментария для Cygwin и MSYS для запуска консольных программ Windows на странице Cygwin/MSYS.

Emacs в вашем случае на самом деле является "консольной программой Windows".