В Emacs "из коробки" несколько пакетов для работы с терминалом, пройдёмся по трём из них.
Команда:
Спросит какой интерпретатор вы хотите запустить, запустит его и будет работать как обычный терминал: вы вводите команды, интерпретатор их выполняет, Emacs показывает результаты работы в буфере
Минусы? Курсор всегда будет находиться в поле ввода команд. Ну, как в обычном терминале, короче.
Команда:
Ничего не спросит, а посмотрит в переменную окружения
Работает не как обычный терминал: можно перемещаться по выводу как по обычному буферу (я так примеры для книги делал — очень удобно). Чтобы вернуться ко вводу команд, нажмите [C->]. Переход по истории (при нахождении курсора в поле для ввода команд) — [M-n] и [M-p] соответственно.
Команда:
Интерпретатор, написанный на Emacs Lisp. Для работы такого терминала не нужны сторонние интерпретаторы, у него всё своё. Работают многие команды, доступные в оболочках типа Bash:
Запомните эту команду:
1. Переключитесь на буфер с терминалом.
2. Нажмите [C-x x u].
3. Запустите новый терминал: [M-x shell RET].
Поздравляю! Теперь у вас открыто 2 терминала типа
#терминал #shell #eshell #term
term.el
Команда:
term
.Спросит какой интерпретатор вы хотите запустить, запустит его и будет работать как обычный терминал: вы вводите команды, интерпретатор их выполняет, Emacs показывает результаты работы в буфере
*term*
. Можно даже вместо /bin/bash
указать psql
или, скажем, python
— тоже будет работать.Минусы? Курсор всегда будет находиться в поле ввода команд. Ну, как в обычном терминале, короче.
shell.el
Команда:
shell
.Ничего не спросит, а посмотрит в переменную окружения
SHELL
. Какой интерпретатор там указан, тот и будет запущен. У меня это /bin/bash
.Работает не как обычный терминал: можно перемещаться по выводу как по обычному буферу (я так примеры для книги делал — очень удобно). Чтобы вернуться ко вводу команд, нажмите [C->]. Переход по истории (при нахождении курсора в поле для ввода команд) — [M-n] и [M-p] соответственно.
eshell.el
Команда:
eshell
.Интерпретатор, написанный на Emacs Lisp. Для работы такого терминала не нужны сторонние интерпретаторы, у него всё своё. Работают многие команды, доступные в оболочках типа Bash:
ls
, cp
, diff
и кое-какие другие. Полный список не вижу смысла приводить, он большой и лучше описан в документации.Запомните эту команду:
rename-uniquely
, [C-x x u]. Она добавляет к названию буфера уникальный суффикс, тем самым позволяя открыть несколько буферов, которые по умолчанию доступны только в одном экземпляре. Например, *term*
/ *shell*
/ *eshell*
.1. Переключитесь на буфер с терминалом.
2. Нажмите [C-x x u].
3. Запустите новый терминал: [M-x shell RET].
Поздравляю! Теперь у вас открыто 2 терминала типа
shell
.#терминал #shell #eshell #term
www.gnu.org
Eshell
Eshell is a shell-like command interpreter implemented in Emacs Lisp. It invokes no external processes except for those requested by the user. It is intended to be an alternative to the IELM (see Lisp Interaction in The Emacs Editor) REPL1 for Emacs and with…
👍7