LINUX.ORG.RU

Acme/Sam?

 , ,


0

3

Науськал crawler на, как пример, https://usesthis.com/interviews/eric.s.raymond/ и скормил AI.

Так старая гвардия послала в пешее Emacs и vim!
Vim/Vi - 22
Emacs - 18
Acme - 9

Distro:
Ubuntu
Mac (30% ssh -> linux)
Arch (молодые)
Debian (Arm, Sid)
Gentoo (servers mostly)
Fedora (Grag for testing kernel)

Кто пользуется Acme? Какие плюшки? Как реализуете в работе?



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

констатирует состояние индустрии

микропроцессорная революция сделала вычисления настолько дешевы

что коекакерские решения достаточно и оптимальны по roi

qulinxao3 ★☆
()

Кто пользуется Acme?

Люди.

Какие плюшки?

Это графичечкий интерфейс к ОС, который заточен на редактирование текста. Плюшки: управление ОС, редактирование текста.

Как реализуете в работе?

Всё уже реализовал Роб Пайк.

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

8 за все годы (emacs/vim/nvim/vis), и то для rust/go/haskell

Что доказывает или опровергает ))

Eulenspiegel
() автор топика

Как реализуете в работе?

Пользуюсь около 2 лет и на данный момент реализовал десяток вспомогательных инструментов. Некоторые Acme-специфичные, другие — обычные CLI, которые без того хорошо интегрируются.

Всё это сделано на шелле, который rc. Язык выбран в целях прототипирования. 16 страниц A4 — почти всё, что мне нужно было знать, чтобы сделать всё это.

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

Acme-специфичные программы:

  • L — поиск по вложенным директориям. Оно открывает новое окно со всеми файлами и заготовленной командой grep, убирая довольно много ручной работы (сам заполняет поисковый запрос, сам делает первый поиск, сам открывает файл в случае однозначного совпадения) и давая возможность делать поиск по выделенным файлам.
  • Getall — Get по всем окнам. Полезно после переключения веток в гите.
  • Def, Ref, Impl, Rename — обёртки над командным интерфейсом gopls (LSP)
  • Form — обёртка над goimports (без выделения текста, по всем открытым файлам, с сохранением позиции курсора)
  • Diary — открывает календарь с текущим выделенным днём и позволяет открывать файлы по числу месяца одним нажатием. Ещё используется в пламбере для открытия дат вроде 09/12/25.
  • Back — реверс Look
  • Try — интерактивный find & replace, показывающий состояние до и после изменения каждого вхождения. Название — каламбур от /bin/tr interactive.
  • Gitlab — открытие текущего курсора в текущем коммите в GitLab/GitHub
  • gpgdecrypt — gpg --decrypt, запрашивающий пароль во временнем окне, созданном /bin/win. Мелкий, но мозгодробительный костыль, который хотелось бы заменить на pinentry-program.
  • Fo, Fon, Fontall — уменьшить/увеличить текущий шрифт, поставить шрифт во всех окнах
  • Openurl — загружает файл по url и открывает его, если в файле только текст, либо директорию с выделением на этом файле, если это бинарные данные.
  • acmeaddr — служебная программа, делающая возможными многие операции на шелле. Чтобы получить местоположение текущего курсора, нужно два раза прочесть addr без промежуточного закрытия, чего в шелле достичь невозможно.
  • acmesecret — делает копирование паролей более безопасным (невидимым)
  • winstruct — запуск /bin/win, дополнительно возвращающий winid
  • Simpletrace — находит стектрейсы Go в тексте и укорачивает/упрощает их

Обычные CLI-программы:

  • 0x0 — клиент 0x0.st (поддерживает выгрузку выделения)
  • chat — выполняет один запрос в ИИ (несмотря на примитивность, пользуюсь постоянно)
  • Brief — список символов в файле (иногда помогает быстро переходить), поддерживает Go и Protobuf. В общем случае для этого используется Edit , >grep '^func'.
  • Capture — скриншот или запись экрана. Позволяет быстро перейти к новому файлу.
  • fmt — обёртка над /bin/fmt, которая убирает и возвращает символ комментария (// или #) между операцией
  • not — обычные строки делает комментариями, а комментарии делает обычными строками (каламбур «annotation» и «not» как схожесть с операцией отрицания)
  • not+, not-, not-- — операции над однострочными комментариями. not+ добавляет пустую линию, если её нет, над каждым блоком однострочных комментов, а коммент справа от строки кода перемещает выше неё. not- перемещает независимый однострочный комментарий вниз вправо от строки кода, которую комментирует. not-- — удаляет комменты.
  • i-, i+ — изменение отступов
  • nixform — удаляет вайтспейсы из имён файлов и уменьшает регистр, конфликтующие файлы не трогает
  • part — аналог xargs, который разделяет строки по переводу на новую строку. POSIX-овый либо по вайтспейсам, либо по нулевому байту.
  • gotypes — лексический поиск типов Go по исходному коду
  • grepinterface — лексический поиск интерфейса Go, содержащего определённый метод
  • addtag — добавляет теги в структуру Go
  • proto2go — конвертирует определение структуры Protobuf в Go
  • xurls — возвращает список всех ссылок в stdin (полезно для хранения букмарок как обычного текста)
  • lor — пишет ники всех участников треда, затем ники на каждой странице треда, затем все реакции в треде
kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 11)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.