LINUX.ORG.RU

Первый релиз текстового редактора Micro

 , , ,


5

2

Micro — простой и легковесный текстовый редактор для терминалов, написанный на Go. Он поставляется в виде бинарного файла и не требует зависимостей.

Как можно догадаться из названия, micro претендует стать заменой старому доброму nano, сохраняя его простоту, но в то же время обладая большими возможностями:

  • легкая установка — micro представляет собой один исполняемый бинарный файл, не зависящий от других библиотек;
  • привычные сочетания клавиш;
  • табы и возможность разделения рабочего пространства;
  • нормальная поддержка мыши;
  • плагины на Lua;
  • подсветка синтаксиса из коробки для более чем 75 языков;
  • анализ и подсветка ошибок в коде;
  • поддержка цветовых схем, в том числе и true color.

Micro распространяется под лицензией MIT.

Скриншоты

>>> Подробности

Deleted

Проверено: Falcon-peregrinus ()

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

Программа на Go не требует зависимостей - ахахах, т.е. мяу.

Скачал и запустил - работает на моем чистом Дебе (oldstable, кстати, который еще Wheezy). Что не так?

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

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

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

Ты упорот чуть более чем полностью. Выше уже пояснили, почему.

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

потому как все зависимости вшиты внутри. Не нравится — пересобери обычным способом
которые рантайм go

Ну и как ты пересоберешь рантайм «обычным способом»? gcc-go не предлагать.

pftBest ★★★★ ()

а что сразу как замена nano? пусть меняет его себе автор и те кто об этом редакторе узнали и захотели. остальной мир не трожь.

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

Зачем? Есть специальные средства для разбора больших файлов.

RazrFalcon ★★★★★ ()

а на какой ляд нужен еще один редактор в консоли?

есть mcedit где всё работает и даже мышь и даже подсветка.

есть nano для тех, кто даже mc поставить не может, и вынужден править конфиги руками в том, что есть.

есть qtcreator для с++, eclipse и т.п. для жабы, и куча других редакторов для работы(то есть работы а не страдания в консоли).

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

Очередной неосиливший консоль? А, ведь, в своё время было много толковых статей по поводу: «CLI против GUI. Консоль против Графики.», «Зачем все это, или текстовая консоль - а чем же она хороша?», «Как перестать беспокоиться и полюбить командную строку»,... и т.д.

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

Суть комментария в том, что Go не умеет динамически линковать библиотеки.

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

golang не умеет, а gcc-go умеет, и при его помощи можно слинковать сабжевый текстовый редактор динамически.

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

Затем, что если ты случайно откроешь не тот файл, то говно, не умеющее открывать большие файлы зависнет намертво.

А НОРМАЛЬНЫЕ редакторы переваривают файлы любых размеров. Если они этого делать не умеют, то внутри - говнокод и точка. А авторы - говнокодеры и пусть идут учиться вместо того, чтобы лячкать свой говнокод.

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

invy ★★★★★ ()
Последнее исправление: invy (всего исправлений: 1)

один исполняемый бинарный файл, не зависящий от других библиотек

«все свое тащу с собой»?

cvs-255 ★★★★★ ()
Ответ на: комментарий от Rastafarra

собери сам, в чем проблема?

Проблем нет. Но зачем творить такую ерунду? Почему не сделать обычную динамическую линковку, чтобы пересобирать вообще не нужно было?

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

Твоя аватарка весьма неплохо тебя характеризует.

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

Если софт говно, то его надо так и называть. vi, написанный 40 лет назад, открывает любые файлы, а «современный микро-мега жирный редактор» - нет. Вот это невиданный проэрэсс!

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

Да, оно не зависит ни от каких библиотек кроме тех что написаны на языке Go

Тебе уже наглядно показывали, что это не так:
Первый релиз текстового редактора Micro (комментарий)

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

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

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

На, чтобы написать «обычно используемые» библиотеки, думаю, нужно около 50 человеко-лет. То есть, либо под «обычно используемыми» библиотеками понимается весьма ограниченный набор библиотек (что говорит об ограниченности языка go), либо ты что-то понял не так. Думаю - второе. Кроме того, переписывать существующие реализации - большая глупость.

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

Сразу баг: если сделать выделение Шифт+Стрелки, то перестают работать кнопки Home и End.

Автор только что пофиксил этот баг ;)

Второй баг: невозможно выделять строки от текущей позиции до конца (Шифт+Енд) или до начала (Шифт+Хоме).

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

Непонятные обозначения в строке статуса: «+ (59,1) c». Цифры - позиция курсора. А остальное что?

Здесь как раз все вполне логично, не сложнее головоломок в мурзилке ;) : «+» признак наличия несохраненных изменений в редактируемом файле" «c» тип/язык файла и соотв. какой синтаксис подсветки будет исп-ся

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

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

RazrFalcon ★★★★★ ()

Эта новость - шутка. Админ, срочно удали тему.

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

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

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

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

Не «левым компилятором», а «с другими опциями». gcc-go умеет и статически линковать:

> go build -gccgoflags '-static' hw.go
> du -h ./hw
13M     ./hw
> ldd ./hw
        не является динамическим исполняемым файлом
> file ./hw
./hw: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, not stripped
А вот и сабжевый текстовый редактор:
> ldd ./micro
        не является динамическим исполняемым файлом
> du -h ./micro
23M     ./micro

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

Шта? Если собрать в статику - то зависимостей не будет.

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

Шта? Если собрать в статику - то зависимостей не будет.

Ок, библиотеки, которые статически линкуются.
А далее см. мой исходный пост.

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

Ну так никто и не говорит что это плохо или хорошо. Вопрос был про внешние зависимости и их нет.

Я хз как там go линкуется, и использует ли он вообще glibc.

С другой стороны rust линкуется только со своими либами статически, а внешние, всё тот же glibc, линкуются динамически. Как минимум на лине.

Итого, тот же xi-editor, собирается в 1МБ.

RazrFalcon ★★★★★ ()

а ничего так, он еще и компиляет сам, и ошибки внятно подсвечивает

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

Почему не сделать обычную динамическую линковку, чтобы пересобирать вообще не нужно было?

кто мешает тебе ее сделать и выложить в дистр даже две сборки: статикой и динамикой?

Rastafarra ★★★ ()

привычные сочетания клавиш;

Даже для вимера?

нормальная поддержка мыши;

Зачем она в консольном текстовом редакторе?

andreyu ★★★★★ ()

поддержка мыши

Зачем? Нет, серьезно, зачем МЫШЬ в терминальном редакторе?

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

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

Gonzo ★★★★★ ()

Как можно догадаться из названия, micro претендует стать заменой старому доброму nano

Согласно закону Вирта, через пару лет micro разжиреет до macro milli.

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

Ок, библиотеки, которые статически линкуются.

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

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

Раст это самые настоящие растаманы же. Обкурятся и говорят, что безопасно.

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

Вот и получается, что при локали UTF-8 в ядерной консоли чуть больше чем 256 символов показываются нормально, а всё остальное отображается «квадратами».

А вот koi8-r дает огромнейший набор символов. Да?

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

с локалью KOI8-R более 10-ти лет и доволен.

Только в каждой теме, где засветилось сообщение о utf-8, видно ваше «доволен».

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

Ctrl-X вырезать
Ctrl-C копировать
Ctrl-V вставить

Ctrl-Q выход
Ctrl-S сохранить
Ctrl-O открыть

Короче все не так как в nano


mv /usr/bin/nano /dev/null

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

Зато без квадратов. Там шла речь именно об этом. А так мне и KOI8-R выше крыши, да и каждый символ ровно по одному байту, а это много стоит.

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

да и каждый символ ровно по одному байту, а это много стоит.

Да, в 2016 это особенно актуально :)

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

Ну так должен же кто-то и KOI8-R пропагандировать, тем более когда то там то здесь выпиливают всё кроме UTF-8 в её пользу. Я могу вообще никуда не писать и быть довольным. Но, иногда могу и написать.

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

Троян, понятно.

Не боись, тебя защитит антивирус гендиректора с зависимостью от .NET Framework.

h578b1bde ★☆ ()

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

anonymous ()

и кстати сказать, размеры бинарей не самое крутое (ну либо хорошее) что есть в го

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

символ по одному байту — это удобно.

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

Чем символ по одному байту удобнее, чем символ по N-ному количеству байт, кроме банального «ручного» чтения и занимаемого пространства, что, конечно, актуально в 2016 году.

znenyegvkby ()
Последнее исправление: znenyegvkby (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.