LINUX.ORG.RU

Текстовый редактор Micro 2.0.14

 , ,


1

2

micro – консольный текстовый редактор для Linux, написанный на языке Go и не имеющий зависимостей. Поддерживает плагины на языке Lua и различные команды во внутреннем терминале. В этом выпуске были добавлены новые настройки, улучшения синтаксической подсветки и поддержки мыши.

Нововведения:

  • Новые настройки:

    • matchbracestyle – позволяет выбрать, как выделять пары скобок: подчёркиванием или выделением.
    • matchbraceleft – нужно ли подсвечивать скобку, составляющую пару скобке, находящейся слева от курсора.
    • hltrailingws – нужно ли подсвечивать конечные пробелы.
    • hltaberrors – нужно ли подсвечивать несоответствия между пробелами и табуляцией.
  • Перемещение курсора и выделение:

    • Новая команда jump для выполнения относительного goto.
    • Новые действия для подслов (SubWordRight, SubWordLeft, SelectSubWordRight, SelectSubWordLeft, DeleteSubWordRight, DeleteSubWordLeft).
    • Новые действия по выделению абзацев.
    • Теперь сочетания клавиш Shift+PageUp и Shift+PageDown используются для действий SelectPageUp и SelectPageDown по умолчанию.
  • Улучшения синтаксической подсветки:

    • Добавлена поддержка подписей для улучшения определения типа файла в неоднозначных случаях.
    • Предоставлен default.yaml для подсветки синтаксиса по умолчанию.
  • Улучшения мыши:

    • Более универсальная поддержка обработки событий мыши.
    • Добавлены события «Перетаскиание мышью» и «Отпускание клавиши мыши».
    • MouseMultiCursor переключает курсоры мыши.
  • Улучшения Lua:

    • Улучшена обработка событий мыши в Lua.
    • Улучшен API таймеров Lua.
    • Добавлен коллбэк onAnyEvent.
  • Прочие улучшения:

    • Одни цветовые схемы теперь могут включать в себя другие цветовые схемы.
    • Пользовательские файлы в ~/.config/micro/ теперь имеют приоритет над встроенными файлами micro.
    • Улучшены возвращаемые значения некоторых действия для лучшего их сцепления.
    • И другие улучшения.

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

★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

в функции NewBufferFromFile, кажется, какой-то еррорпрон: если при открытии файла произойдет любая ошибка редактор попытается создать новый файл. А в линуксе, например, часто бывает, что лимиты на открытие новых файлов исчерпаны. Лично я с такой сталкивался не меньше раз 3х-5и:

https://www.tecmint.com/increase-set-open-file-limits-in-linux/

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

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

Ничего себе, редакторы ещё пишут. Интересно что дал го по сравнению в вылизанными ви или нано.

stave ★★★★★
()

консольный текстовый редактор для Linux, написанный на языке Go

Меня в таких случаях всегда интересует (помимо прочего, это, разумеется, не единственный критерий): как оно себя чувствует, например, на Raspberry Pi 3 без вентилятора? Как отзывчивость (вообще и в сравнении с nano, например)? Я вижу, у сабжа есть некие сборки под linux-arm и linux-arm64, значит, авторы посматривали и на такое применение…

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

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

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

Чтобы на go сделать shared это нужно очень постараться, и то хз получится ли.

mx__ ★★★★★
()

не имеющий зависимостей

Поддерживает плагины на языке Lua

Т.е. интерпретатор Lua они сами навелосипедили?

Gentooshnik ★★★★★
()

Прекрасный редактор.

Пользуюсь много лет в линуксе и на маке. В основном для редактирования коммит мессаджей (да-да, смешно) и когда требуется что-то быстро подредактировать по ssh.

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

Вау, консольный текстовый редактор!

Консольных редакторов с низким порогом входа и с широкими возможностями совсем не много. Если бы этот микро был 10 лет назад, то я бы вим и не стал осваивать. А так как был только наркоманский(хоткеи + нельзя было даже цвет фона поменять) нано или вим с емаксом. В итоге из последних двух я выбрал вим. Сейчас бы думаю что остановился бы на сабже.

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

Ну а почему оно должно себя плохо чувствовать? Гошный софт на самом деле довольно шустрый и быстрый, он для этого и задумывался. Ну да, там есть рантайм с гц и прочим, но тем не менее это не джава и уж тем более не JS.

Zhbert ★★★★★
()

Отличный редактор. Юзаю наряду с mc.

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

Консольных редакторов с низким порогом входа и с широкими возможностями

А на кой хрен им широкие возможности?

совсем не много.

А на кой хрен их должно быть много??

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

А на кой хрен им широкие возможности?

Широкие же понятие относительное, но хотя бы смена цвета фона и подсветка синтаксиса обязательна(для меня). Тот же нано в это не умеет(10 лет назад не умел).

А на кой хрен их должно быть много??

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

Loki13 ★★★★★
()

Круто, что нет зависимостей, выглядит интересно! Поддерживает плагины как nvim/vim? Как там управление с клавиатуры? Можно включить совместимость с vim как в vscodium?

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

vim

Таки да. Но с ним я даже спустя 10 лет, не нет, да и забуду переключить режим. Потом с матюками восстанавливаю(undo) что он там понаделал за 10-15 нажатий не в том режиме.

Ага, ага.

Единственный, который не мозголомный(режимы в виме, распальцовки аккордные в емаксе), со стандартными(привычными по гуям) хоткеями, с довольно широкими возможностями(хотя копирование по Ctrl-Insert я в нём не осилил настроить, но тут возможно вяленд виноват).

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

Еще раз. Потому что это зависимости для сборки, а он писал про bin. Все go проги как правило это один большой бинарник и все.

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

Да, у меня mcedit основной консольный редактор. В целом со своими задачами (что-то быстро поправить) справляется достойно, подсветка работает.

Болячки – интеграция с иксовым буфером обмена только через эмуляцию терминала со всеми вытекающими недостатками (выделять приходится только мышью, если текст шире терминала, он обрезается). Поэтому когда мне надо из одного текстового файла в другой что-то перекинуть, я пользуюсь внутренним буфером самого mcedit (F3, F5, F6 внутри одного файла, Ctrl+F и Shift+F5 для перекидывания в другой файл). Но у него свои недостатки, он копирует байты как есть, и если приходится копировать из текста с cp1251 в текст с UTF-8, на выходе получаются крокозябры.

Особенность – mcedit, когда вызывается из mc (а удобен он именно в таком сценарии), открывается в том же эмуляторе терминала, что и сам mc, и сам по себе он однооконный. Это может быть как достоинством, так и недостатком. Когда приходится совместно править 2-3 текста, это недостаток.

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

Сделали ли бы как турбо-паскаль, и было бы щастье (во всяком случае, мне). На Обероне, и язык расширения тоже Оберон. На дворе XXI век, небось Оберон потянут уже современные компы. Впрочем, Го - это примерно и есть Оберон. В принципе, ЯОС могла бы стать таким редактором, там он есть, но графический. Не хватает библиотеки а-ля турбо-вижн и чтобы кто-то переписал. Ну и несовместимый виртовский протокол работы с файлами, конечно.

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

Такое ощущение, что тебе нужен FTE либо SETEDIT.

P.S. Но нет, они не на Обероне. Я думал, ты турбопаскалевские хоткеи и привычки имел в виду.

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

А, понял. Автор просто из тех кто продаёт «соль без ГМО».

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

Да, хоткеи и привычки, прежде всего это меню с подчёркнутыми буковками. Хотя для двуязычности лучше циферки. С третьей стороны, лучше всего командный интерфейс как в VS Code. Тут вопрос - где грань между «легковесным» и «полновесным» редактором. Для легковесного хватит и меню, а для полновесного уже нужна своя командная строка и окно для диалога.

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

static binary with no dependencies

написанный на языке Go и не имеющий зависимостей

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

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

То, что они не на Обероне, принципиально плохо. Вот Го тоже не на обероне, поэтому у него нет компилятора на борту, поэтому плагины надо писать на другом языке со всеми вытекающими отсюда последствиями. В Оберон-системах обычно компилятор на борту, поэтому всего один язык, к тому же гораздо более простой, чем C++, и исполняемый в машинных кодах. Преимущества совершенно очевидны. Собственно говоря, в A2/ЯОС так и сделано: модули подсветки синтаксиса написаны тоже на Обероне. Не было бы там ещё XML среди всего этого, было бы вообще здорово.

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

Спасибо. Жаль, что уже нет энергии/здоровья, а ты бы запилил.

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

По нажатию Alt+` можно переключаться между панелями и несколькими редакторами/просмотровщиками.

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

Поддерживает плагины как nvim/vim?

Да, на Lua же: https://github.com/zyedidia/micro/blob/master/runtime/help/plugins.md

Как там управление с клавиатуры?

https://github.com/zyedidia/micro/blob/master/runtime/help/keybindings.md#default-keybinding-configuration

Можно включить совместимость с vim как в vscodium?

Нет.

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

Сделали ли бы как турбо-паскаль, и было бы щастье

На дворе XXI век

Зачем в XXI веке мертвые технологии?

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

А что дает Rust? На нем вроде тоже был какой-то редактор.

На Rust написан Helix. Это что-то вроде Vim/Kakoune, но в миниатюре. Во-первых, это простая конфигурация (один TOML-конфиг для редактора, плюс ещё один для каких-то специфичных настроек LSP), во-вторых, поддержка LSP искаропки. Есть даже какой-то дебаггер, но он у них вроде WIP, я им так ни разу ещё не воспользовался.

Но в Helix нет поддержки расширений. Всё-таки у них в приоритете простота.

Я как раз пользуюсь Helix с версии 22.12 или около того. Просто потому что не нужно столько много функций как в (neo)vim. Один раз настроил и гоняю редактор на разных ПК.

Linuxoid85
()

term – собственный шелл-буфер перестал падать вместе с редактором? Надо попробовать.

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

Фунафиг. Клон Vim. Как вспомню, страшно становится.

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

интеграция с иксовым буфером обмена

Есть в dte – маленький, простой и быстрый (если не ворочать гигабайтами).

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

Можно включить совместимость с vim как в vscodium?

Пока нет, но написано что планируется.

MrCookie ★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.