LINUX.ORG.RU

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

 


1

4

Всем привет!

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

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

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

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

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

Таки нет. Даже олдовые емаксеры Bozhihar bbatsov Batsov и Xah Lee признают корявость дефолтных настроек.

Сейчас не могу найти посты, но второй даже замутил 2 пакета:

  • ergoemacs-mode;
  • xah-fly-keys.
dunmaksim
() автор топика
Ответ на: комментарий от masa

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

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

Гибкость юзер может осваивать постепенно, по мере появления опыта и новых хотелок. Но емакс надо настраивать сразу, даже если тебе не нужны какие-то хитрые и уникальные штуки.

Вот сидел человек, пользовался каким-нибудь простеньким kate, его впечатлили расказы про емакс и он решил его попробовать. Он его открывает и видит интерфейс а-ля win 3.11. Видит мануал размером с книгу, хотя едитор даже в подсветку синтаксиса, дополнение кода не умеет и проверку орфографии не умеет. И в этом мануале его учат с нуля работать с текстом и суют хоткеи, которые даже хуже типичных C-v/C-c.

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

Конфигурация становится на столько сложной, что восстановить её с нуля во вменяемые сроки невозможно. Теперь ему надо думать о бэкапах и, в зависимости от ситуации, как этот конфиг таскать между своими машинами. Если в каком-нибудь kate он протыкал пару настроек в менюшках и получил 80% нужного функционала, то емаксом из коробки даже его же конфиги править будет не удобно.

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

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

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

есть одна ТатьЯН acme

вот если и когда слезу с (vs)code и решительно решусь осваивать ос которой не хватает только текстового редактора

то до emacs не дойду ибо acme/sam/ed/sed/awk/python/ipython/duckdb :)

эволюционно emacs с elisp тот ещё выживший из ИИ mit лаборатории

2 Silerus:

На мой взгляд привыкнуть к комбинациям vscode

ctrl(cmd)-k ctrl-s ЛИБО сtrl-shft-p

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

у code сложность(большая!) когнитивно размазана иначе - ваще у «современных» инструментов судя по всему намеренно внешний слой сделан доступным

тот же python в целом сложнее java однако нубов больше в петухоне ровно за спецом скрытую сложность

так и code vs emacs - тем более code это продукт галеры а emacs стихийной флюентной сети фанатиков

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

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

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

Если в вашем сообщении заменить emacs на linux, ничего не поменяется. И то верно, emacs это лисп-машина и играет на том же поле, что и другие операционные системы.

С идеей, что переход на emacs — серьёзный, ответственный и небыстрый процесс я полностью согласен. Просто с моей точки зрения — дело того стоит.

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

жаль(реальне бешельме)

что переход на acme - нет гравитирующей массы пользователей :(

есть но настолько неандертально0индивидуально что проще vscode :(

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

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

Не понятно, что переделывать. Я ничего не переделывал.

это состояние надо поддерживать при обновлении и настройка не заканчивается.

Раз в год-два что-то приходится мелкое поправить. В IDEA ровно та же история, через релиз что-то поменяют в интерфейсе.

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

Видит мануал размером с книгу …

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

Понятное дело, такое тоже подходит далеко не для всех. Но вот если подходит, то вкупе с талантами пианиста это порождает недоумение: „Вот есть же хорошая, правильно сделанная вещь. Чего вы ноете?“.

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

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

А так — подход интересный, конечно.

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

Если в вашем сообщении заменить emacs на linux, ничего не поменяется. И то верно, emacs это лисп-машина и играет на том же поле, что и другие операционные системы.

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

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

Линукс далеко ушел за 20 лет.

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

в простых редакторах уже мультикурсорами пользуется

А вот это хорошо. Должен же быть в нашем ИТ хоть какой-то прогресс!

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

Но там все сделано через одно место. Так что, это только на первый взгляд кажется, что фича в Emacs и в «нормальном редакторе» одинаковые.

Приведу пример. В Имаксе очень удобно вставлять из из истории, просто жмакая C-y и потом повторяя M-y. В IDEA это сделано со всплывающим окном, которое нужно вызывать через совсем другой хоткей, потом тянуться к стрелкам. Обе реализации просто несравнимы по «качеству».

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

без всяких условий запоминания ненужных сочетаний кнопок

В bash тоже не пользуетесь ненужными сочетаниями?

man bash | grep "M-" -C 1 | head -12
       Control keys are denoted by C-key, e.g., C-n means  Control-N.   Similarly,
       meta keys are denoted by M-key, so M-x means Meta-X.  (On keyboards without
       a meta key, M-x means ESC x, i.e., press the Escape key  then  the  x  key.
       This makes ESC the meta prefix.  The combination M-C-x means ESC-Control-x,
       or press the Escape key then hold the Control  key  while  pressing  the  x
--

              M-Control-u: universal-argument
       or
              C-Meta-u: universal-argument
       into  the  inputrc  would  make  M-C-u execute the readline command univer‐
       sal-argument.
vM ★★
()
Ответ на: комментарий от vM

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

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

дык реальная засада

что акме мышь(и её 8 акордов) это только для целеуказания объекта и или пуска своей команд(ы) на выбранном объекте (тексте)

т.е plumber и т.д

и полное «отсутствие» «умолчального(ака прибитого гвоздями и отличающего сущьностно от пользовательских поделий» крч имхо имховое acme не идеал(не конечная точка) но явное восприятие пользователя как более равного авторам acme чем даже emacs в котором очевидно разделение на классы :)

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

Чтобы далеко не ходить, только что понадобилось подвинуть блок текста (внутри yaml) на две позиции вправо. В emacs это: а) выделить блок; б) C-x Tab для перехода в режим смещения; в) стрелочками двигаем куда надо. А что в acme? Положим, выделение точно такое же (на самом деле нет, но забьём). А дальше? Нужно где-то написать требуемую команду, потом с выделенным текстом кликнуть по ней нужным мышиным аккором. Это настолько медленнее, чем C-x Tab что вся затея теряет смысл. К слову вообще не уверен, что можно написать команду для теперь стрелки перемещают блок текста, а не курсор.

И так во всём, в каждой мелочи, которая в emacs исполняется вообще не приходя в сознание.

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

Мне кажется, виндузятник, впервые севший за линукс, будет испытывать сильные эмоции и отнюдь не положительные.

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

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

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

Для емакса лучше подойдет аналогия

В игру в аналогии можно играть долго и без всякого смысла. Пожалуй, я пас.

P.S. А впрочем … emacs подобен старому коммерческому юниксу. Могучий зверь, подобный сам себе и ничему другому. Беги, дрожи или научись читать документацию. YourEditor же похож на MS Dos. Простой, понятный и убогий. Пользуйтесь на здоровье, но …

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

Но там все сделано через одно место. Так что, это только на первый взгляд кажется, что фича в Emacs и в «нормальном редакторе» одинаковые.

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

Или производительность. Тупо включаешь поддержку lsp и перемещая курсор вверх/вниз по файлу в 100 строчек кода емакс жрет 1/3 ядра (7950x3d). Это без всяких всплывающих подсказок или подобных вещей, просто подсветка и никакого ввода новых символов. При загруженном процессоре задержка перемещения курсора так же в треть секунды, тогда как в соседнем окне на этом же файле хеликс или кейт работают реактивно. Я процесс майнинга в играх то не всегда замечаю, а в емаксе достаточно одну кнопку нажать.

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

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

Это, конечно, хорошо

Там из коробки нет базовых функций и постоянно приходится искать, какой костыль в очередной раз отвалился.

но снова без аргументов.

Или производительность. Тупо включаешь поддержку lsp и перемещая курсор вверх/вниз по файлу в 100 строчек кода емакс жрет 1/3 ядра (7950x3d). Это без всяких всплывающих подсказок или подобных вещей, просто подсветка и никакого ввода новых символов. При загруженном процессоре задержка перемещения курсора так же в треть секунды, тогда как в соседнем окне на этом же файле хеликс или кейт работают реактивно. Я процесс майнинга в играх то не всегда замечаю, а в емаксе достаточно одну кнопку нажать.

Я таким не пользуюсь. Не знаю, может ты какой-то пакет неудачный использовал. ХЗ.
Но да, соглашусь, к производительности есть вопросы.

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

Пожалуй, я сформулирую четыре главных (для меня) недостатка emacs:

  1. Абсолютно динамичная природа, любой пакет может вмешаться в работу любого другого пакета (и всё испортить).

  2. Безопасность. Расширения emacs’а — это просто код каких-то других людей из интернета. Ты его запускаешь и надеешься на доброту людскую и честность. Мы, emacs’оиды не ломаем друг друга. Вот, хотелось бы, чтоб как в браузере, можно было запускать режимы в песочнице с настраиваемыми ограничениями.

  3. Производительность. Раньше всё вообще было однопоточное и синхронное, сейчас лучше. Но всё ещё можно многое улучшить.

  4. Elisp. Хочу scheme или cl, просто чтобы библиотеки были.

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

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

Не знаю, может ты какой-то пакет неудачный использовал.

lsp-mode

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

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

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

lsp-mode

Вроде бы eglot идет из коробки, начиная с 29? Когда пользовался emacs проблем с ним особых не помню.

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

У меня емакс держится для mu4e и org-mode (во многом из-за привычки), перестал отслеживать какой там из костылей для базовых функций сегодня меньше проблем вызывает. Раньше еглот был глючным. Там еще вроде какой-то ускоритель этих костылей появлялся, lsp-booster или что-то типа того. У меня и так перезапуск демона емакса на хоткее в DE висит.

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

[preambula:] https://ieeexplore.ieee.org/document/4670705/ Sometimes the Old Ways Are Best Brian_Kernighan

иногда заREPLённость инструмента выпячивает его из общего набора инструментов

крч вопрос мы мутим оркестр али чудо-семерука nonJack of all craft, master them all

ps: craft vs trade тот ещё brainbug

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

У меня и так перезапуск демона емакса на хоткее в DE висит.

Происходит что-то очень неправильное. Так не должно быть.

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

Можно сказать - это проблема с одним из твоих плагинов.

Так и есть. Это сторонний пакет.

Но это проблема дефолта емакса и выбранной им философии «сам себе редактор собери».

Emacs это *текстовый редактор* а не IDE. Ничего собирать не нужно — из коробки прекрасно текст редактируется, в отличии от остальных (от Nano до IDEA). Да, IDE из него можно сделать, но, как ты верно заметил, это уже нужно делать самостоятельно.
По крайней мере, я его так воспринимаю. И, из того что я вижу, большинство его пользователей тоже им пользуются в таком же режиме.

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

Не могу исключать, что во мне спит талант пианиста-виртуоза, но у меня лично нет никаких проблем с клавиатурными аккордами emacs’а

Да их и не будет ни у кого. Это вопрос времени, очень быстро хоткеи забиваются в мышечную память и выполняются дальше автоматически. Любая дичь, что угодно.

А вот то что техника прожимания этих аккордов в Emacs может быть совсем разная, и она должна быть продумана и правильно поставлена (иначе привет проблемы с руками), почему-то мало кто пишет. Это как и музыкальные инструменты, можно корявыми пальцами что-то извлекать и даже построить 30-летнюю проф карьеру рок музыканта, а можно сразу изучать правильную постановку рук.

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

Вот! Все верно ты говоришь. Имакс не для простых пользователей ПК, он требует подготовки (слепой печати). Как и любой другой профессиональный инструмент в этом мире. Это не недостаток, это так мир устроен.

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

Имакс не для простых пользователей ПК, он требует подготовки (слепой печати)

Вообще, лично мне сложно представить, что люди, которые набирают много текста (а это же текстовый редактор, надо текст набирать) могут не уметь слепую печать. Как тогда они набирают. Никогда бы не поверил что такое возможно, если бы каждый день не наблюдал таких людей.

А так то, если уметь нормально, по человечески, работать в любом обычном CUА редакторе, то перейти к Emacs не будет особо сложно, это вопрос привычки.

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

Далее, тут идет такой глобальный методологический косяк, и на Emacs это проявляется очень сильно. Человек после Vim или CUA редактора берет Emacs и там вся база другая. Но - везде же заявляется, что это гипернастраиваемое приложение. Ну так значит, сделаем из Emacs первым делом notepad.exe! А почему нет, он настраиваемый? Да. Везде написано, что вы можете делать любые настройки под себя? Да. Значит будем делать из него блокнот!

Вот и пункт в меню Emacs сделали - включить CUA mode, и вуаля, все работает как в блокноте. На первый взгляд. А дальше начинаются проблемы. Сложно осознать, что этот подход ложный, если Emacs, то надо сразу брать и забивать в руки управление в стиле Emacs, потому что там все под него подводится дальше. Надо сразу пытаться понять философию новой системы и следовать ей, а не натягивать сову на глобус. Это касается не только Emacs, а вообще всего - ОС, DE, различных приложений.

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

Еще серьезная проблема в методологии освоения Emacs - неправильное его восприятие. Такая же проблема есть и у LaTeX кстати.

Люди, как правило, воспринимают это как редактор с плагинами. Типа нам дали репозиторий с плагинами, и начинаем их тыкать, наворачивать кучу плагинов из MELPA, чтобы сделать одно второе третье. И это типа, и есть изучение Emacs - знать что там навалили в MELPA сейчас.

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

Тут надо сразу понять, что базово - это система программирования, которая расширяется через программирование, а не через простановку птичек «добавить плагин». Поэтому первым делом, изучить надо эту систему - базу elisp и основные его возможности. А потом все делать, используя эти знания прежде всего. Тогда, и только тогда можно получить отдачу от освоения Emacs, которая стоит всех этих страданий на имитаторе церковного органа.

То же самое с LaTeX - надо первым делом, в первый день, выучить Plain TeX и основу написания макросов LaTeX. После этого все задачи начнут решаться без поиска волшебных пакетиков по гигабайтам шлака.

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

Наименьшее действие должно делать самую полезную вещь. Я довольно часто меняю отступы, поэтому вынес эту операцию в скрипты и поставил их в теги столбцов (у меня они New Edit |i- |i+ Zerox Delcol). Выделяю текст, i+, готово.

Некоторые действия можно перенести на клавиатуру, если это реально стоит того. Нужно настроить внешний демон вроде skhd и в его действиях запрашивать текущее открытое окно с помощью acmefocused.

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

Поэтому первым делом, изучить надо эту систему - базу elisp и основные его возможности.

ага, давайте потратим полгода, чтобы получить 5% того, что у VS Code есть из коробки. Это, конечно, очень увлекательное хобби - изучать мертвые языки и потом настраивать редакторы через программирование на них, но только вот абсолютно бесполезное в жизни.

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

Посмотрим что ты скажешь, когда встретишь какого-нибудь маньяка-психа, с угрозами вымогающего озвучить смысл @b[ESC-?]@t[window]@b[ESC]. Уклонения и виноватые извинения больше не будут помогут. Я таких психов видел, только они почему-то не емаксом увлекаются, а принимают экзамены на водительские права.

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

Emacs это текстовый редактор а не IDE. Ничего собирать не нужно — из коробки прекрасно текст редактируется, в отличии от остальных (от Nano до IDEA).

Поддержка lsp, проверка орфографии, возможность свернуть функции и т.д. и т.п. - фишки обычного современного редактора.

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

ага, давайте потратим полгода, чтобы получить 5% того, что у VS Code есть из коробки

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

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

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

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

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

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

А потом оказывается что дефолт скатился вообще на дно.

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

Если со сворачиванием функций я еще могу согласиться, то lsp для *текстового редактора* мне кажется уже перебором.

P. S.
Сам из этого всего я пользуюсь только орфографией.

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

Вот я сейчас попробовал, в Emacs 30 LSP подключается вообще без проблем, за секунды, и работает как-то. Из коробки LSP подключен конечно быть не должен, он и в Kate не активирован например, надо включать. Конечно, в Kate его включить еще проще, но в целом по меркам Имакса, там сейчас повернулись лицом к людям и сделали это максимально простым.

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

Выделяю текст,

Очевидно мышкой?

i+

Перенос мыши от места выделения в верхнюю часть Acme, прицел над i+, мышиный аккорд (емнип вторая кнопка, затем первая). В случае перелёта — переприцел на i- и повторные клики.

Всё это банально медленее, сложнее, неудобнее, нежели банальный C-x tab + стрелки.

поставил их в теги столбцов

Там там места мало. Несколько функций можно вынести в постоянные тэги, а дальше что? Только добавив фазу — набрать нужный текст. Т.е. то же самое, что и в emacs делается по M-x insert-interactive-function, только опять мышью возить и нет автодополнения.

внешний демон вроде skhd

Звучит как шаг в верном направлении.

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

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

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

Например, появился eglot и он был сильно хуже lsp-mode (не знаю как сейчас). Не будешь же пересаживаться с привычного настроенного решение на новое со своими глюками и заскоками. А теперь народ используют для lsp прослойку на расте, которая перегоняет json в понятный емаксу байткод, чтобы lsp в нём не так тормозил. И её тоже в дефолте не будет.

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

Если со сворачиванием функций я еще могу согласиться, то lsp для текстового редактора мне кажется уже перебором.

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

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

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

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

прицел над i+, мышиный аккорд (емнип вторая кнопка, затем первая)

Не, можно просто вторую кнопку. Аккорд 2-1 передаёт последнее выделение в аргументы команды.

В остальном, описанный процесс корректен.

… [мышкой] это банально медленее, сложнее, неудобнее, нежели банальный C-x tab + стрелки.

Да, для тех, кто уже знает язык редактирования vi/emacs. Но мне кажется, что разница не велика.

Раньше я выравнивал блоки с помощью << и >> в vi, часто в комбинации >}> (сдвинуть блок) или >/}$ (сдвинуть от сих до строки с вхождением }$). . повторяет команду, u отменяет. Все клавиши, включая шифт, находятся очень близко друг к другу, это можно делать одной рукой. Но я не чувствую, что многое потерял из-за необходимости двигать мышь вверх. Мне нравится тот факт, что я могу выразить всё то же самое без специального языка, что я мог бы этим жестом сделать любое другое действие, что мне не нужно знать ни >>, ни }, ни как они сочетаются, что не нужно выделять видимый текст регулярным выражением, что повтор — это ещё один клик, а не ., что отмена — аналогичный жест, а не u. Хотя я могу это делать, я чувствую себя более свободным, не делая этого.

Мышь после клавиатуры — это как алфавит после рун/иероглифов. Символов меньше, но они могут закодировать больше. И наиболее частые и полезные слова можно сократить, change и other вместо transformation и alternative.

внешний демон вроде skhd

Звучит как шаг в верном направлении.

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

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

Либо так (так и делаю, работая с тачпадом на ноуте), либо вынести меню в какой-нибудь файл. Я так держу команды Def Ref Impl Form Watch go vet в самом начале файла, который всегда открыт в самом верху. Переход к определению сводится к нажатию на символ и аккорду 2-1 на Def.

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

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