LINUX.ORG.RU

GNU Emacs 30.1

 , , ,


0

2

Вышла новая версия старейшего редактора, написанного на C и Lisp, Emacs 30.1!

Основные изменения:

  • портирование на Android;
  • нативная компиляция включена по умолчанию (при наличии библиотеки libgccjit);
  • нативная поддержка JSON, без ранее использованной библиотеки libjansson.

Изменения, несовместимые с предыдущими версиями:

  • режимы Tree-Sitter теперь объявлены подрежимами режимов non-TS (исправления в major-mode-remap-alist, что позволяет добавлять моды к TS, например Yasnippet);
  • буфер Completions всегда сопровождает icomplete-in-buffer;
  • фильтр процессов переписан в нативный код.

Другие изменения:

  • добавлена пользовательская опция trusted-content;
  • добавлена поддержка Unicode 15.1;
  • улучшена поддержка сенсорных экранов;
  • элементы Modeline теперь можно выравнивать по правому краю;
  • добавлены новые пользовательские опции, облегчающие работу: yes-or-no-prompt и kill-matching-buffers-no-ask.

>>> Полный список изменений на gnu.org



Проверено: dataman ()
Последнее исправление: CrX (всего исправлений: 3)
Ответ на: комментарий от lbvf50txt

Это аргументы за текстовый редактор?

Emacs это лисп-машина, вообще-то. В которой есть и текстовый редактор среди всего прочего.

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

Это уже не про редактирование текста, а про еще одну песочницу которая создает новый уровень абстракции для написания приложений.

Спасибо, кэп. Редактирование это не самая сильная сторона емакса, как известно. Но как интегрированная среда он до сих пор всех заруливает. Сейчас и вим оброс экосистемой и не сильно уступает, и молодежные электронщики подтянулись, а 20 лет назад вариантов кроме емакса не было вообще. Мне самому приходилось осьминожить, а куда было деваться.

bread
()
Ответ на: комментарий от skiminok1986

Свои варианты использования я озвучил. Чем в Vim чатиться в IRC/Jabber/Telegram? Чем ходить в Email? Чем читать PDF и сёрфить Gemini? А чем музыку слушать?

Как пользователя emacs, меня такой подход всё же до сих пор пугает.

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

Более-менее все продвинутые пользователи редакторов находятся на одном уровне продуктивности.

Глубочайшее заблуждение.

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

Не, это как раз нормально. Плохо, что до сих пор ядра своего нету, приходится линуксовым пользоваться. Но, рано или поздно, этот недостаток будет преодолён.

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

Вообще-то, емакс  — это операционная система, в которой нет приличного текстового редактора, как известно :)

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

«Ну вот, господин Судья, я и стукнул канделябром!»

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

Более-менее все продвинутые пользователи редакторов находятся на одном уровне продуктивности.

Глубочайшее заблуждение.

Глубочайшее заблуждение считать, что какой-то один редактор уникален и аналогов ему нет. Все современные редакторы/IDE имеют примерно один и тот же общий набор возможностей; более того, как правило, в них предусмотрен Vim mode.

Точно так же, как популярные языки одного типа заимствовали друг у друга концепции: Ruby, JS (Node.js) и Python сейчас фактически друг от друга отличаются только синтаксисом. Консольные приложения и REST API сервера на них писать одинаково.

Возможности Vim, Emacs и VSCode мало друг от друга отличаются; все три редактора имеют свои экосистемы, сотни плагинов и свои сильные стороны.

Все три платформы редактирования имеют набор абстраций, UI-примитивов, базовый набор клавиатурных сокращений и высокоуровневый язык программирования для расширения. Каждый из редакторов имеет огромную пользовательскую базу.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Ну меня до сих пугает конфигурация от Лёши Отта, насколько он ее сейчас переписал не знаю, давно с ним не общался лично. Но 20 лет назад это было так — https://github.com/alexott/emacs-configs/tree/master/

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

Все современные редакторы/IDE имеют примерно один и тот же общий набор возможностей

Стратегия такая: объявляем всё, что умеет emacs, но не умеет $обычныйРедактор ненужным и вжух, получаем общий набор возможностей. Хитро, хитро.

ugoday ★★★★★
()

Emacs прекрасен, что бы тут ни говорили хейтеры и любители вскода. Прекрасен в первую очередь лиспом, ибо лисп основа всего его.

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

Так и в Emacs можно заменить C на Rust.

Вот это как раз проще. На Си только компилятор лиспа и сам редактор написан, а на лиспе все расширения.

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

Все три системы фактически идентичны; разница только во вкусах: кому-то приятнее писать на Lua, кому-то на Lisp, кому-то на JavaScript.

В VS Code не принято вот так вот взять и что-то поменять на ходу; надо целый плагин писать, с церемониями. В Emacs можно по-быстрому наговнять что-нибудь. Это довольно большая разница.

(Neo)Vim чуть получше, но тоже не так удобно это все.

akho
()
Ответ на: комментарий от monk

Там у людей с С на С некоторые места не получается переписать, а вам все по колено.

akho
()
Ответ на: комментарий от gns

Вот это прям в тютельку. Потому что у 30.1 начались претензии к корректности init.el. Да и так там накопилось немножко ненужного, надо перебрать как картошку, ненужное вытереть.

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

В VS Code не принято вот так вот взять и что-то поменять на ходу; надо целый плагин писать, с церемониями. В Emacs можно по-быстрому наговнять что-нибудь. Это довольно большая разница.

Дык для этого VSCode и ставят, чтобы менять как можно меньше, что-то менять.

Кому-то хочется улучшать свой редактор — пусть улучшает. В VSCode достаточно продуманная концепция, чтобы начать работать с современным проектом с ходу.

(Neo)Vim чуть получше, но тоже не так удобно это все.

В Vim на макросах можно достаточно много оптимизировать сходу. запись qx=>работа=>взыов @x, где x это клавиша на которую записывает макрос. Макрос взывает макрос, вызывает макрос.

Всего 26 макросов a-z, макросы можо дописывать, можно вызывать несколько раз подрят 100@x. Можно вызывать последний вызыванный макрос @@.

В Vim даже из коробки можно ничего не дописывать, сразу огромные возможности автоматизации.

lbvf50txt
()
Ответ на: комментарий от akho

В VS Code не принято вот так вот взять и что-то поменять на ходу; надо целый плагин писать, с церемониями.

Какие-то snippets я дописывал в VSCode, все примитвно, пишется код на JavaScript, горячая клавиша сразу можно вставлять код с фрагментами под заполнение.

Точно не помню. Не сказал бы, чтоб настравить что-то в VSCode это большая проблема.

Сейчас поспрашивал AI как писать плагины для VSCode, используется генератор yo code, создается каталог, в котром заполнятся src/extention.ts. Ни каких особых церемоний.

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

Я немного в курсе про макросы, спасибо. В регистры 0-9 тоже можно записывать.

Макросы есть примерно везде, это не то же самое.

akho
()
Ответ на: комментарий от Hertz

Мне вот это вот геройство понравилось — https://github.com/larstvei/dot-emacs

Как-то стало модно загонять конфигурацию в оргмоду и org-babel'ем это на ходу компилить.

Насколько это удобно я еще не понял.

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

Сейчас поспрашивал AI как писать плагины для VSCode, используется генератор yo code, создается каталог, в котром заполнятся src/extention.ts. Ни каких особых церемоний.

В Emacs для исполнения кода в контексте редактора никаких каталогов создавать не нужно. И файлов. Не говоря о генераторах.

Мне кажется, что вы ни один из трех редакторов хорошо не знаете, так что беседа не склеится.

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

Мне кажется, что вы ни один из трех редакторов хорошо не знаете, так что беседа не склеится.

Дак я в эксперты по редакторам не рвусь. Оцениваю их с позиции пользователя.

что вы ни один из трех редакторов хорошо не знаете, так что беседа не склеится.

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

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

Глубочайшее заблуждение считать, что какой-то один редактор уникален и аналогов ему нет.

Emacs уникален. Я много писал дополнений к VSCode и немного к Vim. Разница несравнима. Пока концепта такого в природе нет, что бы там Гвидо не ныл по VSCode, рассказываю Лексу в пятый раз.

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

Оцениваю их с позиции пользователя.

А ты попробуй со стороны создателя!

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

Emacs уникален. Я много писал дополнений к VSCode и немного к Vim.

Ни секунды не сомневаюсь, что Emacs уникален.

Vim тоже уникален: редактор с несколькими режимами работы, где в нормальном режиме исполняются команды микроязыка программирования для работы с текстом. Текст структурирован на слова и абзацы, к которым можно применять команды микроязыка.

Есть и другие знаменитые в узких кругах редакторы, которые тоже уникальны, с уникальными концепциями.

Разница несравнима.

Чем она не сравнима? Расскажите конкретно.

По моему всем она сравнима, единственная разница между языком программирования: Lisp/JS/Lua. В любом редакторе идет манипуляция с текстом.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

РАБОТАЮЩУЮ плавную прокрутку, и нету возможности оставить курсор в определенном месте и прокрутить ниже

Для плавной прокрутки нужно либо усложнять и без того переусложнённое управление с клавиатуры, либо что-то придумывать с мышью, которая second citizen в TUI. Колесо, хотя важный этап в эволюции человека, не панацея.

Курсор, наверное, можно сделать как вам нужно, но…

Кроме ценности фичи самой по себе ещё есть пользовательская база, против которой не попрёшь. Ты можешь прийти и сказать «вот новая программа, кому интересно велкам», но не «давайте я вам покажу как вы должны пользоваться вашими программами».

Так если рассуждать, можно вообще дойти до желания с концами выбросить TUI. В нём много дурацких ограничений и никакой выгоды. Но поезд ушёл.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 3)
Ответ на: комментарий от lbvf50txt

EMACS предоставляет однородный UI (пусть не самый лучший) для людей, которые живут в текстовом редакторе. Шелл, запуск программ, чтение почты, фс, гит — всё в одном месте, с оптимизированным для этой цели интерфейсом. Сам по себе терминал и сам по себе текстовый редактор недотягивают до этой роли. Tmux, zsh, fzf и т.п. — всё это в один момент становится не нужно. Использовать разношёрстные программы, где всё делается по-разному и взаимодействие друг с другом только на примитивном уровне, неприятно. Другие современные редакторы предлагают плагины, которые могут повторить отдельные элементы, но не всю систему (потому что не ставят перед собой эту цель.)

P.S. Никогда в жизни не пользовался емаксом.

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

чего Emacs тоже не может

Список в студию

Нравиться тринадцатилетним девочкам. Вот, вы видели хоть одну девчёнку, фанатеющую по emacs’у? То-то же!

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

Я сбегал с Emacs на VSCode где-то года на два.

В моем случае уход с Vim на VSCode длился 1 вечер. Как завыл вентилятор, так все желание связываться дальше с VSCode закончилось.

Мне нравится работать в CLI с минимальным потреблением ресурсов, VSCode с плагинами как давай потребялть RAM, по хлеще чем два браузера с пачками открытых вкладок, как-то мне сразу разонравилось. Хотя по теоретическим подсчетам казалось, сейчас как поставлю VSCode, как там все за меня уже настроили.

Выбираю Vim.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

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

Кстати, тут ещё жаловались на неплавную прокрутку. pixel-scroll-precision-mode для кого сделали?

dunmaksim
()
Ответ на: комментарий от MOPKOBKA

Для написания книжек я слышал Emacs популярен, но не знаю как там дела.

Профессиональный технический писатель выходит на связь.

  • Sphinx:

    • Есть поддержка ReStructured Text.
    • Есть расширение sphinx-mode (не нравится).
    • Можно завести LSP-сервер esbonio.
  • Markdown:

    • markdown-mode
    • Можно завести LSP-сервер marksman.
  • AsciiDoc:

    • adoc-mode от Bozhidar Batsov скорее мёртв чем жив, только базовая функциональность.
    • asciidoc-mode от меня: даже RegExp’ы реализованы не все. Делаю порт плагина для VS Code, но очень медленно.

    Должен признать, что касательно AsciiDoc Emacs сосёт.

  • XML (DITA, OASIS и тому подобное): очень хорошо, хотя глубоко в тему не вникал.

  • TeX / LaTeX: не пользовался лично, но слышал, что Emacs это практически идеальная среда для работы с ними.

dunmaksim
()
Ответ на: комментарий от lbvf50txt

Я сбегал с Emacs на VSCode где-то года на два.

В моем случае уход с Vim на VSCode длился 1 вечер. Как завыл вентилятор, так все желание связываться дальше с VSCode закончилось.

А.. лол, у меня просто emacs и vscode жрут примерно одинаково ресурсов. Emacs даже больше периодически. На рабочем проекте гигабайт оперативы для emacs – вполне норма.

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

Emacs это лучшая реализация Vi, VIM и Neovim, чем сами Vi, VIM и Neovim.

Чем лучшая то?

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

Org-babel это аналог jupyter notebooks что ли? Так есть они в vs code. Для заметок тоже есть плагины, включая и org-mode.

amm ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.