LINUX.ORG.RU

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

 , , ,


5

2

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

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

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

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

Скриншоты

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

Deleted

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

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

Linux эта гниль особо не касалась, но вот - началось.

ты уже взялся мейнтейнить?

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

Не тот нынче линуксоид пошёл. Раньше на ЛОРе всегда с подозрением относились не только к ссылкам на бинарники (мало ли что туда втроянили), но и к непонятным патчам - мало ли что они там исправляют.

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

saahriktu ★★★★★ ()

За сколько секунд он откроет файл размером несколько десятков гигабайт?

invy ★★★★★ ()

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

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

не требует зависимостей

> cat hw.go
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
> go build hw.go
> du -h ./hw
80K     ./hw
> ldd ./hw
        linux-vdso.so.1 (0x00007ffd2f8c8000)
        libgo.so.9 => /usr/lib/libgo.so.9 (0x00007fbc81170000)
        libm.so.6 => /lib/libm.so.6 (0x00007fbc80e6c000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fbc80c55000)
        libc.so.6 => /lib/libc.so.6 (0x00007fbc808b7000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fbc82739000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fbc8069a000)
saahriktu ★★★★★ ()

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

Сразу говорит об компетенции автора.
Сразу вывод: в топку.

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

Столько боли и соплей в треде. ЛОЛ.

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

Ну я так и сделал, взял таблицу из терминуса и добавил в нее недлстающие символы

pftBest ★★★★ ()
import (
	"regexp"

	"github.com/zyedidia/tcell"
)

прикольно в этом вашем го можно, оно само идет в репу?

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

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

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

А ты в консоли сидишь, раз выбираешь консольный редактор?

В зеноне, например на хостинге фрябсд с кои8-р и там как раз нужен консольный редактор. И что прикажешь делать?

А в своих терминалах есть юникод, но зачем там новый редактор, когда есть вим и мседит?

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

Что тут не так? Этот бинарник даже glibc не требует, значит в теории должен работать на любом дистрибутиве.

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

скоро первоклашек с бейсиком наперевес в админы набирут

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

что ж ты школяр

Не хуже других школяров, по крайней мере пока.

А куча редакторов со странными хоткеями не нужны, пока жив {,neo}vim.

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

Что тут не так? Этот бинарник даже glibc не требует, значит в теории должен работать на любом дистрибутиве.

Он бы и так работал на любом дистрибутиве.

А теперь вопрос: если в glibc найдут баг, мне теперь ждать пока новый «micro» выйдет со слинкованной новой версией glibc?

У автора Windows головного мозга.

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

Оно не линкуется с glibc, потому не содержит багов «из glibc». Когда уже люди это поймут. Стандартная библиотека go делает вызовы ядра линукс напрямую из ассемблера.

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

прикольно в этом вашем го можно, оно само идет в репу?

Да, оно само идет в репу, причем не только на гитхаб, но и на любой другой домен, и качает оттуда исходники по одному из 4 протоколов: git, svn, hg, bzr.

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

Это из-за cgo. Собери с env CGO_ENABLED=0 и будет тебе статика.

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

Это из-за cgo.

Нет это потому что этот чел все не может успокоится и продолжает собирать компилятором gcc-go.

CGO_ENABLED=0

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

pftBest ★★★★ ()

А как в него вставить из иксового буфера обмена? По средней кнопке не вставляет, по Ctrl-V тоже.

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

Оно не линкуется с glibc, потому не содержит багов «из glibc»

Дело не в конкретной библиотеке, а в самом принципе. Или ты хочешь сказать, что оно не зависит ни от каких библиотек (не важно, библиотека слинкована статически или динамически)?

Kroz ★★★★★ ()
Ответ на: комментарий от beastie
> echo "$CGO_ENABLED"
0
> go build hw.go
> du -h ./hw
80K     ./hw
> ldd ./hw
        linux-vdso.so.1 (0x00007ffd635da000)
        libgo.so.9 => /usr/lib/libgo.so.9 (0x00007f57140a0000)
        libm.so.6 => /lib/libm.so.6 (0x00007f5713d9c000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f5713b85000)
        libc.so.6 => /lib/libc.so.6 (0x00007f57137e7000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f5715669000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f57135ca000)
saahriktu ★★★★★ ()
Ответ на: комментарий от Puzan

А как в него вставить из иксового буфера обмена?

Там в документации написано
On Linux, clipboard support requires 'xclip' or 'xsel' command to be installed.
For Ubuntu: sudo apt-get install xclip
If you don't have xclip or xsel, micro will use an internal clipboard for copy and paste, but it won't work with external applications.

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

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

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

export CGO_ENABLED и ещё раз скомпилируй.

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

Всё равно это компилятор Go и он успешно собирает сабжевый текстовый редактор.

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

Всё равно это компилятор Go

А Borland Turbo C++ всеравно компилятор языка с++, но почему-то с ним никто не додумается лезть в тред обсуждающий лямбды и move semantics.

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

мне теперь ждать пока новый «micro» выйдет со слинкованной новой версией glibc?

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

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

Borland Turbo C++ не обновляется десятилетиями, а у меня gcc-go из состава свежего GCC 6.2.0.

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

Текущая версия Go - 1.7 и твой компилятор ее не поддерживает.
Может ты еще и программы на java собираешь компилятором gcj из состава gcc 6.2? А что, тоже компилятор.

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

иудино семя под именем nano

Написать комментарий к коммиту в гит сгодится :)

AP ★★★★★ ()

Непрятноотвратительный

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

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

Чего только не придумают хипстеры, лишь бы vi не учить.

Что угодно лучше чем vi учить.

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

Или ты хочешь сказать, что оно не зависит ни от каких библиотек

Да, оно не зависит ни от каких библиотек кроме тех что написаны на языке Go, а так как язык безопасный то мы точно знаем что в них не будет переполнений буфера и других особо опасных багов. Авторы языка постарались и написали на чистом go многое из того для чего мы обычно используем библиотеки, например программам на go не нужна libpng.so потому что в стандартной библиотеке есть поддержка png. Это отличается от подхода других языков, например в java тоже есть поддержка png картинок в стд.библиотеке, но внутри оно работает используя вызовы к libpng написанной на c.

pftBest ★★★★ ()

подсветка синтаксиса из коробки для более чем 75 языков

Для русского есть? Или для английского хотя бы.

buddhist ★★★★★ ()
Ответ на: Пока что сыро от faiwer

Сказано про подсветку синтаксиса 70 языков. Открыл js-файл - подсветки нет. Как включить? Опять гуглить?

Сам только что наткнулся. Оказалось надо поменять colorscheme в конфиге, или прямо в редакторе. В дефолтной нет подсветки.

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

Это еще зачем? Shift+ZZ по дефолту отлично сохраняет и выходит.

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

Зачем гнаться за спецификациями? У юзеров golang'а из Debian stable и этого нет, и ничего. Вот когда оно не собирается или собирается криво - тогда другое дело. Линковка к делу не относится, тем более что лично мне динамическая линковка нравится гораздо больше. Нечего гигантскими бинарниками дисковое пространство засорять когда уже придумали shared objects (.so). Гигантские бинарники на выходе golang'а меня всегда от него отталкивали, а возможность динамической линковки меня весьма порадовала.

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

У автора Windows головного мозга.

Не угадал - он на яблоке сидит. А виндовый порт micro вообще глючный.

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

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

pftBest ★★★★ ()

о, оно умеет копипасту делать без мыши !

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

Ну и что. Я не собираюсь компилировать софт для ресурсоёмких задач на Go. Для кого-то же этот человек поддерживает gcc-go. Ну и вот.

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

Тогда будь готов к тому, что если будешь репортить баги, первое что тебя попросят это пересобрать нормальным компилятором.
А еще я так и не понял почему ты на комментарии о том что micro не требует зависимостей (что есть правда, бинарники на сайте статические) постишь тут листинги библиотек которые линкует gcc-go.

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

вот же ж говнокод...

Вот же… молодой человек, который не знает, что golangerы склонны использовать статическую сборку (ага-ага, тот самый запускаемый в любом linux-е файл, потому как все зависимости вшиты внутри. Не нравится — пересобери обычным способом (когда-то golang этого не позволял, но это у него уже прошло).

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

все зависимости вшиты внутри

Ты о каких еще зависимостях?

pftBest ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.