GNU EMACS для технических писателей
282 subscribers
11 photos
19 files
87 links
Настройка, использование, хаки
Download Telegram
В Emacs "из коробки" несколько пакетов для работы с терминалом, пройдёмся по трём из них.


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
👍7