LINUX.ORG.RU

Запуск shell-скриптов из-под emacs


0

0

GNU Emacs 22.2.1 (i586-suse-linux-gnu, GTK+ Version 2.12.9), всё "из коробки", под себя никак не настроенное.

Как удобно и быстро запустить открытый в emacs shell-скрипт так, чтобы увидеть его вывод? Основной режим - "Shell-script". Что-то гугл и хелпы не помогают, не смог найти...

Ответ на: комментарий от marsijanin

Спасибо.

А проще нельзя? Как-то странно каждый раз выделять всё и писать слово "bash" в минибуфере.

The_gray_Cardinal
() автор топика

Задам вопрос в более общем виде.

Хочется примерно такого: когда на экране единственный буфер с кодом,
нажать комбинацию клавиш (в идеале - одну клавишу, например, F5),
в результате чего файл сохранится и запустится,
а на экране внизу появится буфер с выводом.

Сейчас, например, в основном режиме "Python" у меня получается следующее:
1. Нажать Ctrl+x, Ctrl+s, чтобы сохраниться.
2. Нажать Ctrl+c, Ctrl+c, чтобы выполнить (и появился буфер *Python*).
3. Нажать Ctrl+x, 2, чтобы открыть внизу второе окно.
4. Передать мышью фокус во вновь открытое окно.
5. Нажать Ctrl+x, b, чтобы выбрать буфер *Python*, затем "*P" и Tab, чтобы сработало автодополнение, затем Enter.

В дальнейшем уже просто первые два пункта.

Но блин, в SciTE под Windows для всего этого достаточно просто нажать F5, и это всё.

Можно, конечно, попробовать записать клавиатурный макрос
и повесить его на F5. Но как учесть то, что все пять пунктов нужны
только в первый раз? Месяц изучать LISP? Или сразу апстену?

The_gray_Cardinal
() автор топика
Ответ на: комментарий от The_gray_Cardinal

Можно сделать так

(defun my-exec () (interactive) (save-buffer) (shell-command (buffer-file-name)))

Вообще стоит правда Лисп поковырять. Это не месяц, а пара дней.

ilya_ost
()
Ответ на: комментарий от The_gray_Cardinal

> 3. Нажать Ctrl+x, 2, чтобы открыть внизу второе окно.
> 4. Передать мышью фокус во вновь открытое окно.

> 5. Нажать Ctrl+x, b, чтобы выбрать буфер *Python*, затем "*P" и Tab, чтобы сработало автодополнение, затем Enter.


это можно заменить на C-x 4 b

Eshkin_kot ★★
()
Ответ на: комментарий от The_gray_Cardinal

прочитал за Вас C-h m нашёл там такое:
If your shell gives error messages with line numbers, you can use C-c C-x
with your script for an edit-interpret-debug cycle.

попробуйте C-c C-x вроде это то что Вам нужно :)

Eshkin_kot ★★
()
Ответ на: комментарий от The_gray_Cardinal

> Месяц изучать LISP?

Что-то бодро больно... Месяц... Люди годами оттачивают своё мастерство, уединившись на вершине горы Белуха в Алтайских горах. Наиболее упорные аскеты, претерпев страдания тела и уныние духа, достигают вершины умения, дзена деструктурирования реальности и облечения его дао в программном коде. Такие человечища могут силой мысли отклонять падающие обломки отработавших ступеней ракетоносителей и развевать по ветру остатки ядовитого гептила, не используя при этом лишних cons'ов и не плодя работы для гарбидж коллектора. После этого их садят по правую руку от Маккарти на торжестве, связанным с 50-летием Лиспа.

mv ★★★★★
()
Ответ на: комментарий от The_gray_Cardinal

а что вы с интерпертатором делаете? выполняете в нем код? тогда смотрите на пункт меню Python, который должен появиться при редактировании .py-файлов.

в этом меню есть пункты "Start Interpreter", который запускает интерпретатор, и пункты - загрузить/выполнить файл, выполнить код в выделенном фрагменте и т.п. У питон-мода вполне вменяемая документация, так что ее почитайте всего-лишь

ott ★★★★★
()
Ответ на: комментарий от Eshkin_kot

>> попробуйте C-c C-x вроде это то что Вам нужно :)
Спасибо, супер!

2(All) Спасибо! Узнал кое-что полезное.

The_gray_Cardinal
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.