LINUX.ORG.RU

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

 


3

5

Всем привет!

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

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

Ответа не последовало никакого.

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

вы проявляете поразительную неосведомлённость

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

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

Почему только. Далеко не только. Просто это тред о Emacs.

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

Плюс минус [Konsole] то же самое что ты описал в Emacs

Из плюсов и минусов на брейнфаке компиляторы пишут. foobar в той команде не смог заменить на quxquux. Как и не сможешь продублировать эту команду 10 раз и потом исполнить, как и не сможешь пройтись фильтром по списку файлов и добавить в начало rm, потом убрать несколько лишних вхождений и исполнить. А с плюсами и минусами я это и в ed могу повторить.

А можно делать всё в одном месте

Можно и зайца научить курить. Вопрос - зачем.

«Однородность интерфейса».

Для этого изобрели DE, где наборы однородных программ.

Emacs/Acme — это и есть IDE.

Еще один, не читал но одобряю, буду спорить с теми кто читал.

Есть такая вещь — абстракция. Она позволяет не ходить в преступный район, даже если ты всю жизнь там ни разу не был.

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

Ну тогда не затруднит конкретно написать, как именно интегрируются один конкретный почтовый клиент (выбери любой) и один конкретный клиент mpd (выбери любой) внутри Emacs.

Я заявляю что примерно никак, для любой пары. Опровергни.

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

Да я с этого и начал. Не освоил обычную программу — никаких проблем. Не получилось с emacs — уже 16 страниц обсуждений про неправильные пчёлы с их неправильным мёдом. Хотя казалось бы — маргинальная программа которой никто не заставляет пользоваться. Плюнь, пройди мимо, но нет …

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

Не думал что это напишу, потому что я лично ненавижу bash - но, просто, освой bash и не дури людям голову. Это все делается просто командой и стандартными утилитами, ну которые «gnu», еще быстрее. Скопировать текст выше я написал как.

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

Плюс, еще, ведение заметок, например, писателем, как не кандидат на использование текстового редактора? И вот в текстовом редакторе работаешь над своими заметками. И решил стилистически подправить текст, скормил этот текст в этом же редакторе какому нибудь копилоту. А потом, тут же перекинул и на почту и в rss-ленту какую-нибудь. для другой заметки понадобилось статистику посмотреть, а она у тебя собирается в mariadb. тут же открыл буфер новый в режиме работы с БД, накидал запросик, получил в этом же (или уже в другом) буфере результат в виде таблички org. и скопировал этот результат в свою заметку.

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

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

но зачем это всё грузить в память, если ты всё равно всем сразу не пользуешься

Autoloading же повсеместно используется. Не пользуешься функцией — модуль с ней не грузится в память.

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

Вообще-то, я лично отвечаю прямо по теме вопроса. Что пошло не так в процессе освоения Emacs.

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

И решил стилистически подправить текст, скормил этот текст в этом же редакторе какому нибудь копилоту. А потом, тут же перекинул и на почту и в rss-ленту какую-нибудь

ctrl-c ctrl-v между любыми двумя приложениями. Повторять до просветления.

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

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

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

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

Это все делается просто командой и стандартными утилитами, ну которые «gnu», еще быстрее

Допустим, есть файлы:

foo
bar
baz
qux
quux
Plato
Kant
Aristotle

Только в большем масштабе. Нужно удалить всё кроме quux, bar и Aristotle — то есть без какого-либо паттерна. Как ты это сделаешь в шелле?

Я знаю как я это сделаю. Уберу всё ненужное, потому что передо мной обычный текст, пройдусь фильтром sed 's/^/rm /' и скормлю всё в шелл.

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

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

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

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

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

Ты что, про пайпы не в курсе? Ты можешь echo через пайп кинуть любой текст, скопированный в Konsole с любого места экрана, в sed, а выхлоп sed кинуть в bash через пайп. Что за проблемы вообще.

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

Я не пользуюсь mpd, так что конкретики не будет. А вот насчёт почтового клиента, тут всё просто: compose hooks позволяют манипулировать содержимым письма. Поэтому:

(add-hook 'mu4e-compose-mode-hook
  (lambda ()
    <<mpd-client-get-current-song>>))

Я заявляю что примерно никак, для любой пары.

А, я понял. Если все 6к+ расширений emacs’овых пакетов не имеют готовых интеграций друг в друга (всего 6k! штук, если я не забыл комбинаторику), то интеграций не существует, расширений тоже не существует, и Kate в результате получается менее убогим, и неосиляторы emacs — тоже. Хитрая защита.

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

Интеграция в Emacs существует, конечно, только если мы оценим ее степень, так сказать, сколько чего с чем может интегрироваться, то получится около ничего. Тогда вопрос, а зачем все это в одну программу напихали.

То что реально интегрируется, понятно почему запихали и тут вопросов нет.

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

ну да, а откуда в Konsole функционал лазанея по текстовому буферу (в терминах emacs-а)? Это разве не ересь, с точки зрение кисса или чего еще там?

то есть для удобства расширенный функционал в виртуальном терминале Konsole - это норм. А расширенный функционал в текстовом редакторе emacs - это недоразумение?

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

что в текстовом редакторе текст, внезапно, можно сохранять в более динамичный или организованный формат, называемый «файлом», нежели история команд

man bash, я серьезно.

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

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

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

Да про любую, приведи любой пример.

reindent-whole-buffer, counsel-projectile-rg, separedit, string-inflection-java-style-cycle. Это навскидку, первые, которые в голову пришли. Они, конечно, забиндены на кнопки.

А вот у тебя в редакторе можно настроить поведение Ctrl-Left/Right и Ctrl-Del/Backspace? В «стандартных» редакторах оно максимально уродское.

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

Или вот есть у тебя в «стандартном» редакторе бесконечный буфер обмена с возможностью выбора вставляемого?

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

Ты что, про пайпы не в курсе?

Сколько занимаюсь пайпами — женщины до сих пор не жаловались.

Ты можешь echo через пайп кинуть любой текст, скопированный в Konsole с любого места экрана, в sed, а выхлоп sed кинуть в bash через пайп.

Я в курсе. Это плохой UI. Есть единственная правильная модель работы с текстом — как в текстовых редакторах. Не существует абсолютно никакой объективной причины ограничивать область редактирования последней строкой.

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

сколько чего с чем может интегрироваться, то получится около ничего.

А вы не с той стороны заходите просто. Вот есть почтовый клиент mu4e, а есть helm — фреймворк, позволяющий сокращать область поиска при автодополнении. И есть mpd (не пользуюсь, поэтому ссылки на конкретный клиент не будет). Helm (не путать с кубернетевском) модифицирует работу с дополнениями. Mu4e использует автодополнения — например при выборе файла для прикрепления к письму, а mpd — для выбора композиции. И внезапно всё со всем автоматом работает, а я мало того, что получаю бесплатно удобный текстовый редактор для писем (извините, письма это текст, а встроенные редакторы, что в браузеры, что в громоптицу — калечные), так ещё и получаю способ быстро найти нужный файл на диске с минимальным количеством нажатий. А всё вместе отлично работает.

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

плюс там исходные заготовки как бы автоматом сохраняются. в консоле - скормил еду sed-у и через пол часа понял что не так или не совсем то скормил. и снова еду готовишь. а в тектовом редакторе - естественно оставить изначальный вариант еды. если что подправить его и снова скормить… образно говоря

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

то получится около ничего

Ну нет же :)

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

reindent-whole-buffer

Ой все, это везде есть. Я это делаю ты просто не поверишь как. ctrl-a, ctrl-x, ctrl-v. Вуаля. Вот блин, это же практически аккорды через ctrl уже пошли, против которых я топил.

А вот у тебя в редакторе можно настроить поведение

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

Простая логика, которая до вас никогда видимо не дойдет. Если КАЖДОМУ пользователю редактора надо НАСТРАИВАТЬ какое-то уродство, то надо просто, всего навсего, убрать это уродство и по дефолту сделать нормально! Все, точка! И не надо ничего настраивать больше! Не дурите людям голову. Настраиватели.

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

Ой все, это везде есть.

Практически нигде нет без внешнего форматтера. Могу тебе прислать файл на Верилоге, отформатируешь?

Ничего не надо настраивать млин! Надо использовать то что есть, если оно есть.

..использовать и страдать. Спасибо, я лучше настрою и буду получать удовольствие.

по дефолту сделать нормально!

Простая логика, которая до тебя никогда видимо не дойдет. У каждого человека свои предпочтения. Хорошо для всех = для всех хреново.

PS: Дай, думаю, поставлю Kate, вспомню молодость. Он мне захотел половину KDE поставить. Нахрен мне такой редактор?

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

У меня есть вот такой условный файл: $home/project/guide. В этом файле находятся команды для работы с проектом: запуск тестов, работа с докером, с гитом, несколько SQL-запросов. Это всё команды на шелле (кстати, 0 плагинов, никаких vasyan-sql-v228). И это просто файл, а не история команд. Пример был об этом. Что иллюстрирует мой поинт о том, что текстовый редактор — это инструмент организации и навигации, который позволяет эти достоинства распространить на любую задачу, связанную с текстом.

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

У каждого человека свои предпочтения

Нет. Это в корне неверно.

Нахрен мне такой редактор?

А с чего ты вдруг решил, что тебе кто-то предлагает использовать Kate? Я не могу вообще понять ваше мышление. Что к чему.

Ну и так то, в отличие от Emacs, между Kate времен твоей молодости, и нынешним таки есть разница.

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

Что значит профессионально использовать? Профессионально - это значит зарабатывать деньги. Если я зарабатывал деньги, используя Emacs, значит я его осилил? Ну таки да, тогда осилил.

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

надо просто, всего навсего, убрать это уродство и по дефолту сделать нормально!

Нормально у каждого своё. А если б мне нравилось ходить строем, я б пошёл не в IT, а в армию.

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

В этом файле находятся команды для работы с проектом: запуск тестов, работа с докером, с гитом, несколько SQL-запросов

Ну есть и есть. дальше что? Тебе надо его открыть, наводить курсор на команду и выполнять ее? Это элементарно в эмуляторе терминала делается.

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

Что значит профессионально использовать?

Хз, это ты термин ввёл, себя и спроси.

А, прошу прощения, не «профессионально», а «эффективно».

А с чего ты вдруг решил, что тебе кто-то предлагает использовать Kate?

Ты говоришь мне, что мне не нужен emacs.

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

Нет. Это в корне неверно.

Дожились. Строем ходить предлагаешь?

Тут @Iron_Bug пол треда своими предпочтениями заспамила, ей тоже отказать? Люди тачки разные покупают, надо чтоб у всех были Жигули? Клавы с мышками тоже исключительно logitech мембранки, хуле чего-то большего хотеть, оно же печатает. Так?

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

У нас в линуксе — нормально, когда каждый может настроить систему под себя. И не нормально, когда не может. Вот такая у нас тут норма. Кому не нравится — адрес apple store могут найти в интернете.

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

Или вот есть у тебя в «стандартном» редакторе бесконечный буфер обмена с возможностью выбора вставляемого?

Вот опять лол какой-то. Алло, буфер обмена не в редакторе. Точнее это у вас в редакторе, а вообще он в графическом сервере. А для расширения его возможностей в DE есть менеджер буфера обмена, который и предоставляет бесконечный буфер с возможностью выбора что вставить.

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

Ладно. Допустим для заметок этот ваш kate не годится. Ничего, переживём. А конфиги им редактировать можно? У меня на работе стандартно используется связка sops + yaml. Соответственно, emacs при открытии зашифрованного файла его расшифровывает, во временном буфере открывает режим yaml и при сохранении зашифровывает обратно. Очень удобно. Ну и заодно демонстрирует интеграцию разных подсистем друг с другом.

А теперь расскажите, как там у вас дела?

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

Алло, буфер обмена не в редакторе.

А если мне нужен в редакторе. Вот именно для того текста, который редактируется. А ещё чтоб в каждом проекте свой буфер. Да мало ли что ещё можно придумать.

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

Алло, буфер обмена не в редакторе. Точнее это у вас в редакторе, а вообще он в графическом сервере.

В графическом сервере он убогий донельзя. Ни тебе undo-tree, ни тебе Registers. Вообще никакого сравнения.

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

Хз, это ты термин ввёл, себя и спроси.

Фантастика. Это из твоего поста же.

А, прошу прощения, не «профессионально», а «эффективно».

Без баяна

Ты говоришь мне, что мне не нужен emacs.

Ты с дуба рухнул???

Я говорю что МНЕ не нужен Emacs. А что ТЕБЕ нужно, это вообще не мое дело.

А лично тебе, я писал прямым текстом прямо противоположное, что я не считаю Emacs плохим и не имею ничего против него как такового. Ты ответы читаешь вообще, как же вы задолбали, чудики.

Что с вами надо сделать, чтобы вы начали читать что вам пишут?? Раскорячить как любят на одном неназываемом тут соседнем форуме?

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