LINUX.ORG.RU

Есть ли альтернатива Emacs?

 , ,


2

5

JB требует VPN.
VS требует Windows.
VSCode сливает всё на сервер дополнениями.

Что выбрать, чтобы надолго и минимум зависимости проекта от компаний?

Vim с плагинами - инородная хрень. Голый Vim для front/back -> (‿|‿)



Последнее исправление: Dimez (всего исправлений: 3)
18 октября 2024 г.
Ответ на: комментарий от Eulenspiegel

Acme подходит для любого проекта, работу с которым можно организовать используя текстовые команды. Поиск файлов/слов - grep, сборка проекта - make, git/docker - самоочевидно, работа с HTTP - curl, сторонние сервисы - mysql-client/redis-client/etc. Отличие от обычного эмулятора терминала в том, что Acme позволяет хранить команды в файлах.

Терминал, какой бы современный интерактивный шелл не использовался, неудобен, хотя все им умеют пользуются. В этом смысле Acme направляет имеющиеся скиллы в более продуктивное русло.

LSP в Acme также имеется (1).

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

Vim наконец настрой

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

tp_for_my_bunghole
()
10 декабря 2024 г.
Ответ на: комментарий от qulinxao3

Не слышал про Canon Cat. Похоже на старинный компьютер. А причём тут он?

Про vscode не знаю, не пользовался. А чем Acme не устроил?

Edit: вижу, что Canon Cat использует какой-то необычный текстовый интерфейс, но я не знаком с этим устройством.

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

Раскин (мастер интерфейсов(пользовательских) первых Маков(недо лизы которые) показал своим изделием что могло бы быть идеальным инструментом текстованния в отсутствие закона Мура и фиатной накачки спроса бубенцами и свистелками

речь про тектовое взаимодействие acme/Oberon(среды) - где есть курсор текста и курсор мыши (либо их эмуляция одним курсором и моды)

ща в vscode:

* есть недо тайлинг как в acme

* исполнение выделенного произвольным шелом

?(нехватает) < | > ухватки ввода вывода замещения в самой среде

самой Acme (если бы б продолжал пользоваться то скорее Sam) - не взлетело ибо робинзонить без пятниц тяжко :(

зы:

частично есть получение вывода в «временый» файл если исполняемое выделение тем или иным способом осуществляет |code [path] - (в том же path али при его отсутсвии)

ну и для публики:

как начал и как используешь acme?

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

как используешь acme?

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

Практика, которую использую по сей день: сохраняю команды в файл, который игнорируется глобальными настройками гита. Обычно этот файл называют «guide».

Довольно долго держал файл $home/guide, через который открывал проекты. Там была примерно такая команда:

<find github.com -type f |sort |grep '/guide$'

В файле guide – команды. Последнее время я чаще всего я использую find, grep, git и psql.

Поиск по файлам и по содержимому:

|grep pattern
|grep -n pattern `{cat}
<find . -type f |sort

Сперва выполняю команду find, которая даёт список всех файлов, затем на этом выделении один из двух grep-ов.

Можно использовать grep -R или ripgrep, но я стараюсь без необходимости не выходить за пределы возможностей, описанных в мануалах Plan 9. Эти мануалы хороши тем, что они хорошо подсвечивают традиции и нормы использования инструментов.

Пробелы и табы в названиях имён можно пофиксить через $ifs, но проще просто не париться об этом.

Когда я понял, что пользуюсь поиском очень часто и постоянно ходить в файл неудобно, создал скрипт Global, который создаёт окно с результатом «find . -type f |sort» и шаблоном grep в теге (заголовке) окна.

git – по-умолчанию просто держу команды, которые знаю, что выполняются регулярно.

Вместо git status использую git status –short –untracked-files. На это есть две причины. Первая – легко автоматизировать (|sed 's/^../git add/'). Вторая – можно тыкнуть на существующий файл, затем применить аккорд 2-1 к команде git add/checkout/reset. Работает как кнопка.

Чтобы дополнительно уменьшить количество кликов, я сделал скрипты gitadd/gitcheckout/gitreset. Без пробелов не нужно выделять всю команду.

По такому же принципу прыгаю по веткам и коммитам.

Нравится добавлять только часть изменений в индекс используя git apply. Но этому было трудно научиться. Обычно используют git add –patch. Поскольку это традиционный repl, его нужно запустить через win git add --patch, как и любой другой традиционный repl.

Для работы с бд также использую Acme. Команду для подключения оборачиваю в скрипт, в результате получая «кнопку». При необходимости можно переключиться на моноширинный шрифт через Font.

Как правило, файлы guide большие. Основное средство навигации – поиск. Есть два подхода. Первый – сделать Zerox окна и в теге написать команду для перехода к нужной позиции. Например, для перехода к командам гита я использую :0/^git/.

Есть похожий подход, который пригождается время от времени. Поисковые запросы можно держать в пустом окне. Когда нужно – выделяешь, затем применяешь аккордом 2-1 к команде Edit в окне, где этот поисковый запрос нужно осуществить.

(По этому же принципу работает команда Look, но она ищет обычные строки. Какое-то заранее известное назначение трудно придумать для Look, но она регулярно становится нужна то тут, то там.)

Для работы с несколькими сессиями – либо Dump/Load (к сожалению, иногда не осиливает Zeroxed окна), либо второй инстанс Acme. Как запустить два инстанса написано в man 4 intro |grep NAMESPACE.

acme-lsp не тестил. Я юзаю gopls, который не требует ручного запуска сервера и имеет дружелюбный командный интерфейс. Но я всё-таки написал парочку обёрток, которые делают переход к символу/список упоминаний/проч более удобным и в духе Acme.

Для подсвечивания ошибок в коде в реальном времени использую go vet в связке с Watch.

Структурные регулярные выражения рулят. К сожалению, многие возможности скрываются за идиомами, которые не всегда видно сразу. Использование адресов открывает многие возможности.

Часто пользуюсь окнами, которые не являются файлом, но благодаря названию /Users/kaldeon/project/-slowquery указывают директорию и организовывают работу.

Sam мне тоже нравится, но он как будто не такой динамичный.

Многие другие детали можно подцепить из видоса Russ Cox’a.

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

С паролями/секретами также работаю через Acme. Просто шифрую файл через gnupg. Если требуется ввести пароль, то win gnupg --decrypt file, иначе достаточно пайпов.

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

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

Rob Pike для навигации по коду пользуется такими скриптами:

% cat bin/f
#!/bin/sh

9 grep -i -n '^func (\([^)]+\) )?'$1'\(' *.go /dev/null
% cat bin/t
#!/bin/sh

9 grep -i -n '^type '$1' ' *.go /dev/null

% cat bin/cf
#!/bin/sh

csearch -n -f '\.go$' '^func (\([^)]+\) )?'$1'\('
% cat bin/ct
#!/bin/sh

csearch -n -f '\.go$' '^type '$1
%

(сурс)

Я не пробовал так делать, но на заметку взял, подход хороший.

kaldeon
()