LINUX.ORG.RU

Emacs 31.1

 ,


0

5

В этом выпуске детище RMS порадовало нас следующим:

  • поддержка управления мышью в терминале (хотя по мнению автора новости, лучше терминал запускать в Emacs, а не наоборот);
  • изменение порядка загрузки конфигурации: теперь сначала site-start.el потом early-init.el;
  • обновление Org до версии 9.8;
  • обновление стандарта Unicode до версии 17;
  • поддержка su-rs и sudo-rs в Tramp;
  • огромное множество изменений и улучшений во встроенных пакетах, языке Emacs Lisp и доступных режимах.

Для тех кто пока не в курсе, Emacs это программная реализация LISP-машины (диалект Emacs Lisp) с поддержкой нативной компиляции на лету и невероятный разнообразием модулей и пакетов, на ней реализованных (клиента ЛОР пока нет :) - в том числе и один из лучших текстовых редакторов.

Отдельно стоит заметить что использование современных технологий вроде LLM с помощью софта, написанного ещё до твоего рождения, это совершенно особое ощущение: есть в этой преемственности поколений что-то очень оптимистичное.

>>> подробнее

★★★☆☆

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

Представьте ситуацию -

А давайте мы не будем представлять идиотские ситуации? Такое вот у меня необычное предложение. Может, если как некоторые в этом обсуждении, скакать каждые пол года на новый редактор, скорость первоначальной адаптации и настройки и играет какую-то роль, но emacs тем и хорош, что осваивается один раз. И первоначальная конфигурация делается один раз. Дальше просто поддерживается и развивается по мере надобности в новых пакетах.

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

Я надеюсь (хочется верить в лучшее), что он просто дико заврался и не признается.

Что еще про меня тут кто поведает, о чем я сам не знаю? Мне уже прям очень интересно. Фонтан фантазий какой-то :)

«вот за это мы отвечаем, а если вы хотите что-то свое — настраивайте сами и не жалуйтесь»

Никогда такового вот «сами» нет, не было и не будет. Скажите еще спасибо, что не в nvidia работаете :)

Иначе это просто бездна банального угнетения, куда можно пойти только от безысходности.

Яб за всякие погдуки вроде «я хочу работать в такой-то среде, а остальное нафиг», ещеб и порол три раза в день.

Я слышал, что Калифорния — засраный фентаниловыми бомжами по крышу гадюшник

Ну, нужно не слышать, а видеть. Впрочем: «свинья - грязь найдет» (с) :)

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

Последним советом сам не пользуюсь, так как капс это отличная переключалка раскладки.

Да, и это ломает всю малину.

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

DrRulez ★★★★★ (27.08.26 10:00:45 CEST) А если вы такие умные, то почему вы строем не ходите?

На СВО тебя надо :)

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

Вчера мучил ein. Поддерживает только то, что есть в емаксе - просто картинки (matplotlib). Мне нормально, это можно и отдельными окнами. bokeh выводит JS кодом, ну и фиг с ним. У ein нечеловеческий UX запуска, нужно дописывать альтернативные функции, типа запуска jupyter сервера без лишних вопросов в текущем каталоге, вместо собственного диалога открытия блокнота - передачу пути файла из emacs... Сделал макросы для контекстного меню ячейки и плавающих кнопок «запустить - добавитьт - удалить».

В целом, вчера UX самого блокнота добил, ещё допиливать открытие файла/запуск сервера, потом прикручивать просмотр датафреймов с пагинацией и статистиками (вроде есть готовое расширение, надо интегрировать).

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

Последним советом сам не пользуюсь, так как капс это отличная переключалка раскладки.

Да, и это ломает всю малину.

У меня просто нет проблем с мезинцами. На 60% клавиатуре дотягиваюсь без усилий везде.

skiminok1986 ★★★★★
()
Ответ на: комментарий от James_Holden
  1. Если это нужно редко то, сделать через Mark-Ring, т.е. C-x h C-u C-<space> C-u C-<space>, что не требует никаких действий, но нужно лишний аккорд вбить.

  2. Ну, либо написать свою интерактивную функцию которая делает то же самое и перевесить её на C-x h.

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

Как? Ты работаешь без педалей??

Кстати, я пытался MIDI-клаву с педалями в емаксе использовать, но поддержка MIDI в нём весьма херовая. Такие дела.

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

Так об этом я в треде уже и писал. Побеждает не лучшее.

По каким метрикам лучшее/не лучшее-то? Потому что по соотношению цены к количеству доступного софта и его производительности и стабильности в конце 90х лучше Windows+Pentium тупо не было.

Прямо жду датацентры на арче. Или что там сегодня у школьников модно?

Рач – не ОС, ОС тут – линукс. Вот если завтра у школьников будет модно ставить какую-нибудь RedoxOS на ноуты, я бы на месте Торовалтоса начал напрягать очко.

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

Потому что по соотношению цены к количеству доступного софта и его производительности и стабильности в конце 90х лучше Windows+Pentium тупо не было.

Это уже была практически полная победа к тому моменту. А вот мотни лет на 10 до этого, например.

Рач – не ОС, ОС тут – линукс.

Линукс это вообще ядро.

Вот если завтра у школьников будет модно ставить какую-нибудь RedoxOS на ноуты, я бы на месте Торовалтоса начал напрягать очко.

Среди школьников нет ни одного ESR. Никто не будет вваливать уже столько бабла и сил в что-то другое. По крайней мере так резко. И даже бы с RedoxOS пришёл какой-нибудь новый ESR, то ничего бы не изменилось.

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

А надо чтобы прям само восстанавливало положение курсора?

Самому аж стало интересно. Посмотрел в доке, что выделение всего буфера пушит положение курсора в mark ring перед выделением. Значит к нему можно перейти через C-u C-Space. Правда туда же попадает точка в конце буфера, так что проделать это надо дважды. Но как будто это не такая частая операция, чтобы еще более удобно этот переход как-то устроить.

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

Это уже была практически полная победа к тому моменту. А вот мотни лет на 10 до этого, например.

Да не особо. В 80х ещё были какие-то подвижки, но к началу 90х рыночек был уже в принципе захвачен штеудом сотоварищи.

Линукс это вообще ядро.

Нет. В общеупотребительной лексике Linux – это семейство ОС на базе ядра Linux. Даже Педивикия сдалась:

Linux (/ˈlɪnʊks/ LIN-uuks)[11] is a family of free and open-source software Unix-like operating systems based on the Linux kernel,

Но можешь называть это как хочешь: GNU/Linux, GNU+Linux, Linux + glibc + X11/Wayland, Linux + GNOME/KDE. Короче, то что на базе творения Торовалтоса и при этом не Android.

Среди школьников нет ни одного ESR.

Да нет, гомосексуализм сейчас наоборот в моде. Но есть и весьма известные гетеросексуальные товарищи. Один только Vaxry чего стоит, от которого у половины гномосеков жопы горят.

Никто не будет вваливать уже столько бабла и сил в что-то другое. По крайней мере так резко. И даже бы с RedoxOS пришёл какой-нибудь новый ESR, то ничего бы не изменилось.

А вот хер знает. Я бы не зарекался.

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

У нас в наличии сотни команд, а клавиш значительно меньше. Как биндить будем?

Копетан! Но ты не понял вопроса.

Ctrl-x 5 2 – создать ещё один фрейм.

Ctrl-x 5 0 – закрыть фрейм.

Если про 2 и 0 я ещё могу пост-фактум догадаться как-то (2 – это будет два фрейма на месте одного, 0 – будет ноль фреймов. Окей, притянуто за уши, но запомнить можно), то откуда 5 берётся? В этом тоже какая-то логика есть? Фрейм больше окна по значимости, поэтому фрейм 5, а окно 4? Вот это вот нихрена не логично.

Вимовские C-w V (vertical) и C-w S (split) куда логичнее и проще запомнить. А :sp и :vsp ещё проще, даже TAB жать не надо.

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

Окна таскаем мышкой

Сплит окна не таскаются мышкой. Внезапно.

в контекстном меню

Так я в emacs могу. Но утверждение было про хоткеи.

no-such-file ★★★★★
()
Ответ на: комментарий от James_Holden

Никак. Есть только обходной путь.

  1. Сохраняешь позицию: [Ctrl+SPC].
  2. Выделяешь и копируешь: [Ctrl+x h Alt+w].
  3. Прыгаешь к сохранённой позиции: [Ctrl+x Ctrl+@].
dunmaksim
()
Ответ на: комментарий от yorshka

Да не особо. В 80х ещё были какие-то подвижки, но к началу 90х рыночек был уже в принципе захвачен штеудом сотоварищи.

Санки и эсджиаи были куда как интереснее, а во многих местах и безальтернативными. Да и пресловутый AIX не на писюках крутился.

Конечно, дома и на столах секретарш ставить что-то дороже писи смысла не было.

Нет. В общеупотребительной лексике Linux – это семейство ОС на базе ядра Linux. Даже Педивикия сдалась

Ну это нечто из разряда ксероксов, унитазов, фломастеров, памперсов, термосов и прочего. Когда бренд начал означать все изделия. В принципе, нормально, но по факту неверно. Впрочем, школота на то и школота.

Педивикия пишет что угодно. Это нормально. Там вообще большой бардак в фактах повсеместно.

А вот хер знает. Я бы не зарекался.

Зарекайся, не зарекайся, а гну/линукс сейчас дефолт корпоративная система для решения дефолтных корпоративных задач на серверах. Десктопы, конечно, по остаточному принципу пилятся. И дешевле запилить необходимое под неё, чем брать молодой ноунейм.

Конечно, в случае с redox есть rust и более удобная для корпоратов лицензия, что может сыграть.

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

Вимовские C-w V (vertical) и C-w S (split) куда логичнее и проще запомнить. А :sp и :vsp ещё проще, даже TAB жать не надо.

Допустим. Хотя я так и не понял почему horizontal это split. А C-x 5 2 на вимерском будет?

Все эти аккорды позволяют в процессе почитать справку, что сильно экономит время и нервы. C-x 5 C-h в помощь :)

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

Да.

  • [Ctrl+x 4] – всё что связано с окнами.
  • [Ctrl+x 5] – всё что связано с фреймами.
  • [Ctlr+x] – глобальные сочетания.
  • [Ctrl+c] – сочетания, которые предоставляет режим.
  • [Ctrl+x r] – всё что связано с регистрами (registry).
  • [Ctrl+x v] – всё что связано с VCS.
  • [Ctrl+x b] – буферы.
  • [Ctrl+x d] – Dired, файловый менеджер.

Дальше:

  • [Ctrl+w] – вырезать.
  • [Alt+w] – скопировать.
  • [Ctrl+y] – вставить.
  • [Alt+y] – выбрать что именно вставить из скопированного ранее.
dunmaksim
()
Ответ на: комментарий от dunmaksim

Мой конфиг Emacs ставит и настраивает все нужные мне пакеты за меньшее время.

Там другая психология. Git вне IDE не бывает. Stow вообще не бывает. Автоматизации не бывает. Это ж современные программисты, откуда бы им знать про автоматизацию?

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

Это ж современные программисты

Они сидят в VSCode, а чатятся с ИИ агентом в окошке терминала. Это своя эстетика.

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

C-x h C-u C- C-u C-

Спасибо, в целом я так и сделал. Тут нюанс в том, что после C-x h надо еще само копирование сюда вставить, поэтому не получается сделать «чистое» выделение отдельно, копирование отдельно, как в блокнотиках. Я повесил на C-x h последовательность, которая выделяет, копирует, возвращает курсор назад. Все хорошо, но визуально не видно, что что-то отработало.

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

Версия за 300 имеет

Symbol analysis and navigation

Зачем мне текстовый редактор за 125 баксов, который не сможет отскроллить к объявлению переменной?

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

Спор *vi против Emacs смысла не имеет, выбор идёт не по объективному удобству, а по ориентации головного мозга.

Чьему-то мозгу удобнее команды, иному – сочетания клавиш. Мне писать команды в Виме удобнее, но я никогда не плюну в Emacs, назвав его неудобным.

Он неудобен мне лично, но лично меня никто не принуждает его использовать и меня лично никак не затрагивает, что много кто пользуются Emacs-ом, потому что им это реально удобно.

Поэтому Emacs очень удобен для тех, кто им пользуется, а те, кто им не пользуется, могут идти набирать исходники в чём-либо другом. МОЛЧА.

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

Если нужно просто всё скопировать, то

(defun my-copy-whole-buffer ()
  (interactive)
  (let ((beg (point-min))
	(end (point-max)))
    (copy-region-as-kill beg end)))
ugoday ★★★★★
()
Ответ на: комментарий от Shadow

Они сидят в VSCode, а чатятся с ИИ агентом в окошке терминала.

В Emacs это тоже отлично работает :)

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

В emacs ты чатишься в буфере с интерактивным UI, а результат чата происходит в других буферах. И это просто на порядок круче.

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

Чьему-то мозгу удобнее команды, иному – сочетания клавиш.

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

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

Как же там не хватает нормального режима.

С чего вдруг не хватает-то если он там есть?

zabbal ★★★☆☆
() автор топика
Ответ на: комментарий от mister_me

Что за писк? При выключении компьютера что-ли?

Недавно здесь? Мем про «vim пищит и портит текст» старше большинства посетителей ЛОР :)

zabbal ★★★☆☆
() автор топика
Ответ на: комментарий от bread

Команды это тоже сочетания, только там меньше клавиш нужно нажимать, и их проще запомнить.

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

https://imgur.com/Mvx3MEm

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

Недавно здесь?

Да, ЛОР читаю примерно 4 года.

Мем про «vim пищит и портит текст» старше большинства посетителей ЛОР

Впервые вижу, лол.

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

Вы ещё на брейнфаке переписать предложите.

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

В сочетаниях и последовательностях Emacs и VIM есть логика. Но это же учиться надо.

Зачем? в VIM пришлось выучить - потому что shell. Но в целом был дистрибутив gvim «cream», отлично на оффтопике заходил, в emacs тоже есть варианты.

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

Нормальный режим в емаксе это блокнот в стиле нано с неочевидными сочетаниями. Ну какой-то режим команд может и есть, но в виме это основной режим. И команды там образуют язык команд со своей грамматикой. Он проще запоминается, чем случайные комбинации клавиш. Обратная сторона медали это бедный режим вставки и необходимость переключать режимы на каждый чих. Но это можно исправить. Ненастроенный вим меня иногда бесит больше, чем какой-нибудь блокнот.

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

аккорды сами, в процессе работы запоминаются

На уровне мышечной памяти разве что. Пальцы сами дергаются куда надо? Я слишком тупой, чтобы даже в нано запомнить хоткеи. Но там хотя бы подсказка есть.

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

На уровне мышечной памяти разве что.

Так и есть, когда, например, в ходе дискуссии, мне нужно привести emacs’овый аккорд, я переключаюсь в emacs, делаю нужное действие и смотрю, как я это сделал.

Но там хотя бы подсказка есть.

Каждый аккорд это интерактивная функция. Соответственно, её можно вызвать по имени, а имена как-правило более-менее очевидные. В процессе тебе подсказывают как сделать то же самое аккордом (см скриншот). Если что-то используется часто, то начинаешь пользоваться аккордами, а потом они автоматически запоминаются в ходе использования.

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

В Emacs тоже есть:

(use-package which-key
  :hook (after-init . which-key-mode))

Всё, с этого момента Emacs будет показывать куда приведёт нажатие клавиш.

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

Ну elisp это такой гибкий domain specific, а питон - это какой-то супер универсальный клей. Звучит странно, мне питон всё время c++ напоминает.

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

Когда я вижу вот эти емаксовые аккорды как в этом треде, мне аж дурно становится.

Таки пользуйтесь Вимами, очень вряд ли вас кто-либо когда-либо где-либо будет принуждать использовать Emacs. А вим-подобное управление много где реализовано.

Нормальные мышевозы ржут над всеми нами и не понимают зачем это всё. Счастливые люди.

Угу. Счастливые, бо не работают. Мне как-то пришлось набирать и редактировать мат. формулы в M$O, так я там мышкой навозился в 10 раз дольше, чем на клаве набирал и редактировал формулы в TeX-е и даже OO/LO.

Когда надо на постоянной основе много, часто и быстро работать с текстом, не ОФОРМЛЯТЬ готовый документ для печати, а создавать и редактировать тексты, тогда и возникает потребность в удобном инструменте для работы с текстом.

Тогда, потратив время на освоение профессионального инструмента, понимаешь, в чём выгода иметь подходящий под твой разум полностью настраиваемый под ТВОИ нужды инструмент.

Потому не отмирают Вимы и Emacs.

Возвращаясь к исходному, «горячие клавиши» – это удобный способ управление, а «странные» сочетаний Emacs-а есть следствие принципа "делай всё «горячими клавишами», поскольку «всего» много, а клавиш мало.

Но на постоянной основе человек использует пару десятков команд, ещё десяток сильно периодически, так что никто не забивает себе голову и пальцы всеми 2 тысячами сочетаний, особенно в свете того, что Emacs таки не т/р, а лисп-машина и любой может наЛИСаПедить там что угодно, что в принципе позволяет эта лисп-машина. Даже какой-нибудь изврат вроде нелинейного видеомонтажа или вычисления числа Эйлера с точностью до 10 тысячного знака.

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

Звучит странно, мне питон всё время c++ напоминает.

В оба два тянут всё подряд, пора биться об заклад, кто раньше рухнет под тяжестью стандарта, Плюсы или Питон?

P.S. «Memento PL/I».

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

режим команд может и есть, но в виме это основной режим

В Emacs буквально есть поддержка всех режимов vim.

необходимость переключать режимы на каждый чих

А вот этого недостатка нет потому что чаще всего режимы переключаются автоматически в зависимости от фрейма и его содержимого.

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