LINUX.ORG.RU

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

 , ,


2

5

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

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

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



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

У меня сейчас актуальный стек

Это пока ты в CI/CD не ударился, да с legacy не поздоровался (а там всегда намешано…). Потом облака, Golang… Хоба, и ты уже на недоRuby пишешь конфиги к puppet.

Eulenspiegel
() автор топика
Ответ на: комментарий от amm

@специализация удел насекомых@ и списка Хайнлайна навыков

машины Поста хватит всем

и да баланс динамичен

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

qulinxao3 ★★
()

acme

но мы в альтернативной реальности поэтому в некоторых подпространствах emacs (обмазанный с craft'ом под себя а не c trade'ом с фичами и дуделками для маркет-менеджеров и утят-нубов) оптимален как и любой «легко» расширяемый программно редактор с стабильным интерфейсом

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

go vet в связке с Watch работает совсем непохоже на автодополнения.

Открывается новое окно, в котором при сохранении файла постоянно выполняется команда go vet, указывающая на ошибки в файлах в формате file.go:12. На эту строку можно тыкнуть и откроется file.go на 12 строке.

Что касается сниппетов, то традиционное решение очень простое – просто открыть директорию со сниппетами, найти нужный и оттуда скопировать текст.

Если это происходит часто — открыть новый инстанс Acme, в котором эта директория, вместе с парочкой самых частых сниппетов, всегда открыта. 4 клика в лучшем случае, ~6 в худшем.

Есть ещё один метод, чуть-чуть сложнее. Можно ввести <snip bfs, исполнить и на месте этого текста будет пример реализации какого-нибудь breadth-first search. snip — простейший скрипт, который на основе первого аргумента (dfs) выводит сниппет в stdout. Меньше операций, нет переключения окон. Могу предположить, что этот метод лучше подойдёт тем, кто ну очень часто нуждается в запросах к сниппетам.

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

Я немного про другое. Там выше я показал команду “|grep -n pattern $(cat)”. Это чтобы искать по файлам, указанным в выделенном тексте. Так вот если там будут пробелы в имени файла, то $(cat) это не поймёт правильно, потому что command substitution разбивает строки по IFS, в котором традиционно (и на всю жизнь, видимо) пробел, таб и перенос строки. Поэтому нужно:

|IFS='
'
grep -n pattern $(cat)

Либо задать глобальный IFS. Я не пробовал, но предчувствую проблемы с портабельностью.

Переносы строк вообще никак не пофиксить. Такова фундаментальная проблема текста — какой-то разделитель должен быть.

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

А вот я без задней мысли бросил vi-подобное управление. Нисколько не желаю.

А что интересного позволяют сделать emacs’овые аккорды? А то я с emacs’ом совсем не знаком, сложно сравнить.

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

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

Текст — сам по себе очень мощный инструмент. Диаграммы, иллюстрации, игра с цветами не делают из него что-то принципиально более совершенное. Я вот смотрю на то, как люди пишут большие книги или статьи: это череда черновиков, чёрно-белый сплошной текст, разделённый отступами.

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

Когда я понял, что пользуюсь поиском очень часто и постоянно ходить в файл неудобно, создал скрипт Global

Тут скорее даже не в этом дело. Ходить в файл guide удобно.

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

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

Можно вручную делать временные окна, заранее положив в файл guide команды:

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

(New -grep исполняем, следующие две команды переносим в новое окно.)

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

Хотя вручную это занимает заметно больше ручной работы.

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

А зачем этим заниматься одному человеку? Ты в стартапе работаешь? У нас в конторе для ci/cd специально обученные люди есть, и они в основном на yaml пишут) В legacy лезть тоже желания мало, даже если это legacy .net framework, а уж всякие legacy пхп с перлами, это вообще за гранью добра и зла, если за такое браться, то только для того чтобы переписать на современном стеке.

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

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

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

Словами это не объяснить. Унутрив концепцию и освоив много аккордов, радикально сокращаешь дистанцию между мыслью сделать что-то и результатом. Вот, представьте себе, что вы все операции делаете мышкой в менюшках, а враги вам мышь в три раза замедлили. Вы всё ещё можете сделать ту же работу, но сам процесс чудовищно бесит. А потом, мышка починилась и курсор бегает резво как раньше. Чувствуете облегчение? Вот у меня такое же при переключении между другими программами и emacs’ом.

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

специализация очевидно полезна особенно при разделении труда удешевляющее найм

тут скорее craft vs trade

«профессия это заговор против профанов»

https://www.youtube.com/shorts/ehv-Ls9Idw8 вот ребята явно профессионалы и явно их нанимающие тоже

при этом чел с craft mind-сетом в небольшом лульзе от наблюдаемого

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

Текст — сам по себе очень мощный инструмент. Диаграммы, иллюстрации, игра с цветами не делают из него что-то принципиально более совершенное. Я вот смотрю на то, как люди пишут большие книги или статьи: это череда черновиков, чёрно-белый сплошной текст, разделённый отступами.

Но вот только код, это не просто текст. Если взять Войну и Мир и сделать ошибку на пятисотой странице в имени Пьера Безухова, назвав его Бузуховым, ничего в понимании этого текста приципиально не изменится. А программный кода это такой текст, в котором лишняя запятая может отправить ракету вместо Марса на Венеру. Есть разница с написанием книг и статей, не так ли? У текста программы есть структура, есть строгие синтаксические правила и каждый символ критически важен. Было бы очень здорово, если бы существовал какой-нибудь инструмент, который бы подсказывал семантику слов в выражении в реальном времени и одного взгляда на текст было бы достаточно, чтобы увидеть ошибку и исправить её не дожидаясь пока вылезет ошибка компиляции, не сфейлится тест или ракета не врежеся в Венеру. А! Стойте, есть же такой помощник!

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

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

В русском/английском языке тоже.

увидеть ошибку

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

Кстати, подсветка в любом случае без тесной интеграции не подсвечивает место ошибки тестов. Люди, кажется, всё равно не страдают без этого.

Мне кажется, дело ведь совсем не в этом. Подсветка, связанная с важными инструментами, имеет смысл, не спорю. Но ведь она зачастую проявляется в 8 красивых цветах, превращающих код в радугу. Считается, что это помогает непосредственно в момент чтения и написания кода.

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

Семантика (то есть смысл) подсказывается чтением и ничем другим. Радуга, возможно, и не мешает этому, но и не помогает.

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

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

Бинго!

А зачем этим заниматься одному человеку?

А если у тебя N проектов? Ты будешь ждать пацанов, когда они в билд ферме тест впихнут

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

херота это. Компилятор ругнётся, а не подсветка или статический анализатор.

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

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

Тебе казалось. LSP включается одной командой.

А вот с подсветкой беда. Проводили психологические тесты (на onedark theme). Люди очень быстро привыкали. И если хоть немного иеняли цвет или вообще тему - полная дизориентация и «слепота» по коду. Эту проблему даже как-то назвали.

Я по себе заметил, что если непривычная цветовая тема, то я не понимаю, что написано. Syntax off помогает, но становится уныло без адаптации. Сейчас многие используют минимальные темы, где обыгрываются выделения наклоном, жирнотой или небольшим изменением ч/б или однотонки. Это позволяет не быть «слепым» в семантике.

Ну и создатели темы не всегда успевают обновить до изменённого синтаксиса, что в случае шарпа или js/ts для меня было критично.

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

Люди очень быстро привыкали.

и что в этом плохого то? Это вполне нормально для человека привыкать к чему-то, привычка позволяет мозгу меньше нагружаться вырабатывая автоматизм. Зайди в любой автосервис, у каждого есть его любимые пассатижи, которые привычно лежат в руке, привычно помещаются в карман и с привычным усилием перекусывают проволочку. Этими пассатижами человеку удобно работать. И это прекрасно, он меньше заморачивается и делает свою работу быстрее и качественней. Было бы крайне странно поотбирать у людей их пассатижи и выдать другой инструмент чтобы не привыкали. Бессмылица же. Я много к чему привык на работе: к своей кастомной сплит-клавиатуре, к нестандартной раскладке, к моей мышке, к моему монитору и к креслу. Мне это удобно. Именно поэтому компьютер называется персональным - он настраивается под персональные предпочтения.

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

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

Что значит N проектов? Как они стали твоими? Ты работаешь в стартапе, что не вынужден отвечать за всё? Тогда откуда у вас легаси?

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

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

Потихоньку стали, как-как. Какой стартап? Ты где живёшь? Сейчас или специалист или совсем зелёный новичок. А времени по большей части нет. Что можем, то конечно бросаем в молодняк, только фундамента знаний маловато.

Я посмотрел одним глазом из-за go, что там devopsЫ (нет слов, маты) крутят в своём мире… Это ад, адище! А когда порезали для сурьёзного бизнеса всякие next->next (ой, у Вас тут ошибка в конфе)->done по одной кнопке…

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

то вполне нормально для человека привыкать к чему-то

Ты не понял. Инструменты сейчас делаются быстрее. За ними opensource не поспевает. И если у тебя новый синтаксис не понимает - ты слепнешь. А задержка лично с пинками - 3-4 месяца. А ЯП - много. И сами редакторы тоже на месте не стоят…

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

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

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

Наверное.

Ешё раз - возраст не показатель. А думать надо. Вон люди пишут, что мембранка норм, моник 14/17 дюймов - норм. )) TiledWM - это для мамкиных хакеров. Можно долго перечислять ))

Eulenspiegel
() автор топика
Ответ на: комментарий от amm

речь о трэйде «универов» где соискатели ищат не craft профессионализма в cs(кодинге) а ачивку для матчинга херкам как результат содержание не важно важно выглятить как подходящий

следовательно и с исструментарием существенная доля софта прикладного буквально рассчитанно на некомпетентных - вообще популярность ide в том числе обусловленно экономикой в которой программисты упали в качестве :)

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

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

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

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

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

А вы хотите от этого всего отгородится в пыльной каморке. Хорошо. Только ради чего?

имеется ввиду свободное ПО. Чтобы оно не стало вдруг зондом просто по хотелке компании.

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

sed тьюринг полон если нужна автоматизация

если более серьёзно то acme не идеал да b sam тоже но это движение в более верном направлении чем то что случилось

в нашей альтернативной ( и даже в чём то одарённой) реальности где как реакция следствие на «оффис»-внедрение микропроцессорной революции { в небудем показывать пальцем в части провинций мира ваще процы попали сначала в офисы а не на пром станки}

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

уверен пользуйся массы acme пользы в долгую больше чем от не массового использования vim/emacs/words(M$)

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

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

зы - шершавый тут - интерфейс который переусложнён эволюцией

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

Потому что так работает наш разум. Есть два способа решения проблем: божественный и обезьяний. В первом случае человек гениальным озарением прозревает затруднение сверху донизу и находит идеальный ответ во всей его полноте. Это очень сложно, мало когда бывает и, что хуже, мало зависит от твоей воли. Просто случается. Обезьяний же метод гораздо проще и управляемее: берёшь кусочки решений от похожих проблем и просто выученные за годы жизни трюки и начинаешь их комбинировать, пока оно не сложится во что-то, что в принципе решает проблему. Используется повсеместно, благодаря чему нынешнее IT и пребывает в столь мизерабельном состоянии.

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

уверен пользуйся массы acme пользы в долгую больше чем от не массового использования vim/emacs/words(M$)

Круто ты заливаешь, и я согласен с некими тезисами. Мне самому подход Bell Labs зенки открыл, ходил с выпученными глазами, повторяя мантру - «Plan9! Plan9! Future! Holy crap»!

Но сравнивать emacs мир с word? Это даже для меня жирота )))

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

Ты немного не так сформулировал.

берёшь кусочки решений от похожих проблем и просто выученные за годы жизни трюки и начинаешь их комбинировать

(подчинённой определённой идеей)

А потом бывает или нет прозрение. И тут «базар» реально помогает.

Просто инсайта без базы нетъ.

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

3 основных для мну дополнения не работают без принятия лицухи и на VSCodium щщах. Только сборка от Майков.

Это .net у меня оно тоже что-то там просило? А все потому что надо писать на православной сишечке в имаксике, край с++, а не на столлманомерском .net. Кстати fsf делал форк java, а вот .net ниасилил. Чому так?

Ygor ★★★★★
()