LINUX.ORG.RU

Если вы пробовали вкатиться в GNU Emacs, расскажите, что пошло не так

 


1

5

Всем привет!

Часто вижу на форумах мнение, что Emacs это что-то старое, кривое и ненужное. Пожалуйста, напишите в комментариях, как вы пытались вкатиться в Emacs, и что пошло не так. Это поможет мне улучшить свою книгу про Emacs и даст идеи для постов в Telegram-канал.

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

org babel blocks

Это ведь про встраивание кусков кода в org, как команды для редактирования текста текущего буфера трудно будет использовать.

Как я погляжу, такое редактирование внешними скриптами уже в каком-то виде возможно — с помощью shell-command-on-region (M-|). Выделяем редактируемый регион (или весь буфер), запускаем эту команду с префиксным аргументом (чтобы результаты вызова скрипта перезаписали исходный текст), набираем название скрипта — вуаля, наш текст отредактирован внешним скриптом на произвольном языке: C-x h C-u M-| <script-name> RET.

Юзабилити, конечно, так себе, но это ведь дело поправимое.

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

ещё для полноценной интеграции нужна возможность создавать-изменять переменные, вешать свои обработчики на hook’и, дёргать elisp-функции и позволять другим пакетам дёргать твои

Можно ведь обернуть выполнение внешней команды в лисповую функцию (например, edit-with-external-command), которая всё это сможет.

Ну или не всё. Сам скрипт-то не имеет доступа к состоянию и функциям редактора — он видит только редактируемый текст, и через стандартный ввод это будет тяжеловато это всё передавать, не придумывая специальный протокол, где редактируемый текст и другие данные будут разделены.

А у нас ведь ещё есть emacs-server, к которому теоретически можно прицепиться скриптом.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 4)
Ответ на: комментарий от Nervous

Сам думал о какой-то такой схеме, да. Но тут мы относительно Acme, как альтернативщики относительно emacs’а. У одних все есть, готово и отлажено. У других «есть гора костылей, в принципе всё можно сделать (через жопу)».

Но, вот, делать всё равно надо. Потому как «функция прокладка + протокол + внешний процесс (в контейнере)» позволят радикально усилить безопасность относительно малой кровью. А это важно.

ugoday ★★★★★
()

Первоначально GNU Emacs был крут, но на условно моей машине были единицы мегабайт RAM. И nvi для редактирования мне было более чем достаточно.

В начале тысячелетия уже в каждой виртуальной машине могли быть сотни МБ, и отказываться от Емакса не было причин. Но стало слишком затягивать баловство с elisp и прочие хакерские развлечения. И я это прервал.

vM ★★
()

Все-таки хотелось бы заслушать начальника транспортного цеха главного специалиста (я без лишней иронии) по lisp @lovesan.

Ygor ★★★★★
()

Сам по себе emacs мне нравится больше, чем nvim. Но с плагинами ситуация куда печальнее.

andalevor ★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)