Emacs и Shell в одном окне?

1

Просто интересно, есть ли способ поместить emacs и shell в одно и то же окно. Например, разделить оболочку на две части: одну для самой оболочки, другую для emacs. Или есть какой-нибудь способ быстро переключить окно оболочки и окно emacs?

Причина, по которой я спрашиваю это: иногда мне нужно запустить мою программу с помощью команды shell, чтобы мне пришлось закрыть emacs и вернуться в окно оболочки. Это маленькая трата времени, чтобы переключаться назад и вперед.

Спасибо

Аллан Цзян
источник
3
Вы не можете просто использовать M-x shellиз Emacs?
Джон Лин

Ответы:

1

Вы после того, что называется терминальным мультиплексором. Двумя наиболее часто используемыми являются screen и tmux. У tmux больше возможностей, и вам следует отдавать предпочтение перед экраном, если у вас есть выбор.

Николас Дудебо
источник
1

Вы всегда можете просто приостановить emacs ( M-x suspend-emacs), выполнить вашу команду и вернуться к emacs ( fg).


источник
1

Вы всегда можете использовать терминал внутри emacs (emacs сделает всю покраску). Обычно у вас есть 3 варианта:

  • режим оболочки - терминал - это просто еще один буфер emacs, вы не можете использовать утилиты, для которых требуются curses или аналогичные библиотеки (вероятно, человек не будет работать, так же как top или finch),

  • Режим eshell - я не использовал его много. Это встроенная оболочка Emacs поверх lisp.

  • Режим ANSI-термин - эмулирует терминал ANSI, может работать в двух режимах. Вы можете запустить man, htop и т. Д., Есть некоторые проблемы, но я уверен, что вы будете счастливы с этим. Эти режимы:

    • символьный режим - он захватит почти все ваши привязки emacs, для переключения используйте Cx Cj
    • Режим переноса строки - он будет вести себя как другой буфер, для переключения используйте Cx Ck.
Джек Даниэль
источник