Опубликован выпуск проекта LazyVim 5, развивающего надстройку над текстовым редактором Neovim, превращающую его в полноценную интегрированную среду разработки приложений. Для формирования расширенной функциональности применяется менеджер плагинов lazy.nvim и набор преднастроенных дополнений на языке Lua. LazyVim предоставляет готовое к работе окружение, сочетающее оптимальный по мнению авторов набор настроек по умолчанию с наличием простого интерфейса пользователя для изменения конфигурации на свой вкус. Код проекта написан на языке Lua и распространяется под лицензией Apache 2.0...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59458
Тут надо понимать что emacs doom фичастие сабжа на несколько голов. Но при этом оба полностью не юзабельные.
Doom Emacs вполне юзабельный из коробки. Добавление поддержки языка делаеться проще некуда без проблем. Вот что неюзабельно так это поделки поверх Vim-а любых сортов.
имхо неовим все-таки пытается догнать vscode, но баг на баге. я уже устал от этой кривизны.
думаю про емакс или вскоде вообще.
Выбирай VScode, если оперативной памяти на устройстве достаточно.
у меня 2 гига на четвертом пне юзабелен vscodium, если быть терпеливым и не требовать от него мгновенной реакции, даже одновременно с браузером с открытыми парой вкладок пашет
> vscodiumНе нравится MIT-лицензия? :-)
Производство Pentium 4 прекратилось в 2008 году. Какая практическая польза в этом древнем хламе?
Не поверишь, у меня любимая, походная машинка вообще на атоме 450 и ничего, хватает.
Кому и кобыла невеста
с этого момента поподробнее, нас интетесует ваш опыт!
Ты хоть включаешь его?
"оно работает", независимо от вашего снобистского мнения.
Я помучился с емаксом и ушёл на vscode. Для тривиального программирования
А для использования Emacs все так же требуется 18 пальцев на руках, 37 на ногах и 12 щупалец?
Ну просто у меня по 5 пальцев на каждой руке и я не мог раньше использовать Emacs
Что-то поменялось?
кто сказал evil?
Ну не то, чтобы "не юзабельны" - это что-то вроде "прохождения dark souls" на танцевальном коврике: куча людей вообще пройти не может, и на их фоне вполне себе результат - со стороны смотришь даже как-то круто, но божечки-кошечки...
Еще надо понимать что, к сожалению, вменяемые ide все сделаны на java. Все остальное это редакторы разной степени "умности".
Есть конечно vscode стремящийся к ide, но пока что по удобству есть куда расти. И опять же на монструозном электроне. Похоже здесь прослеживается какая-то связь.
Тут надо понимать, что emacs - это другой лагерь вообще, и вы нам в огород не бросайте, пожалуйста, спасибо.
А как оно в консоли работает? Или не работает?
Если нет, как пользоваться через SSH?
Сначала думал, что ничего особенного для современного эмулятора терминала и толкового моноширинного шрифта, но наверное это таки GUI...
Видно, что минимум 2 разных шрифта есть, и там в полупрозрачных менюшках явно попиксельный блендинг, а не посимвольный.
если это не консольное, то гуглеж на тему ssh -X вполне может помочь
>> если это не консольное, то гуглеж на тему ssh -X вполне может помочьЭто ничего не меняет по сути, возможность работать через консоль удаленно - это огромное преимущество vi(m). Гонять гуевый траффик через ssh никакая этому не альтернатива.
> возможность работать через консоль удаленно - это огромное преимущество vi(m)Это вообще не преимущество vim: любой (даже гуйный) редактор или файловый менеджер может работать удаленно, если примонтировать SFTP к файловой системе.
>>Это вообще не преимущество vim: любой (даже гуйный) редактор или файловый менеджер может работать удаленно, если примонтировать SFTP к файловой системе.Это именно что преимущество vim - отсутствие необходимости гонять по сети траффик файловой системы, а гонять лишь крохотный траффик обновления экрана терминала.
Не говоря уже о том, что иногда нужно больше, чем просто редактировать текст. Что ты сделаешь, если у тебя локально нет тулчейнов и прочего?
> Что ты сделаешь, если у тебя локально нет тулчейнов и прочего?У разработчиков должен быть тулчейн для разработки. А на проде тулчейн для разработки не нужен. Более того, на проде должен быть абсолютный bare minimum. VIM.EXE не нужен для функционирования прода, он нужен лишь хелловорлдщикам типа тебя, которые не осилили "скачать VIM.EXE бесплатно, скачать PHP.EXE без смс для локальной разработки, скачать ДЕНВЕР джентльменский набор апач майскльюэль похапе".
> Это именно что преимущество vim - отсутствие необходимости гонять по сети траффик файловой системы, а гонять лишь крохотный траффик обновления экрана терминала.Т.е. ты имеешь в виду vim, установленный на удаленной машине? Так ssh так может показывать любую программу.
Или же думаешь, что vim scp не делает локальную копию?
>>Т.е. ты имеешь в виду vim, установленный на удаленной машине? Так ssh так может показывать любую программу.На моей машине разработчика, которой я могу пользоваться по назначению из любого места в мире, где есть интернет уровня хотя бы диалапа.
>>Так ssh так может показывать любую программу.
Далеко не любую.
P.S. Про форвардинг говорить не надо, уже обсудили тут, почему это не аналог вима через терминал.
> На моей машине разработчика, которой я могу пользоваться по назначению из любого места в мире, где есть интернет уровня хотя бы диалапа.Ну и как, по твоему, чудо-vim на твоей машине может редактировать удаленные файлы без "необходимости гонять по сети траффик файловой системы, а гонять лишь крохотный траффик обновления экрана терминала"? Черная магия?
>> На моей машине разработчика, которой я могу пользоваться по назначению из любого места в мире, где есть интернет уровня хотя бы диалапа.
>> Ну и как, по твоему, чудо-vim на твоей машине может редактировать удаленные файлы без "необходимости гонять по сети траффик файловой системы, а гонять лишь крохотный траффик обновления экрана терминала"? Черная магия?Читай внимательно: "На моей машине разработчика, которой я могу пользоваться по назначению из любого места в мире, где есть интернет уровня хотя бы диалапа."
На этой машине стоит vim, и на этой же машине лежат файлы, которые для нее являются локальными, куда они попадают разными путями - git, docker hub, etc. И к этой машине с кучей ядер, быстрого стораджа и оперативки у меня есть доступ с любого устройства, умеющего запускать ssh. Именно потому, что в этом случае нужен лишь "крохотный траффик обновления экрана терминала".
Ну так это то, о чем я писал: vim на удаленной машине, к которой ты подключился через ssh. Ну, и в чем здесь заключается "огромное преимущество vim", если таким же образом может работать emacs, nano, да и вообще любой софт консольным интерфейсом.А про ssh траффик: ты замерь для интереса - обнаружишь, что он не капли не крохотный, и за пару часов редактирования файла ты запросто можешь передать в десять-двадцать раз больше данных, чем размер самого редактируемого файла.
>> Ну, и в чем здесь заключается "огромное преимущество vim", если таким же образом может работать emacs, nano, да и вообще любой софт консольным интерфейсом.А кто тут говорил про "огромное преимущество vim" перед emacs, nano или Лексиконом? Я говорил о преимуществе vim, как консольного редактора, которым можно пользоваться через ssh. То есть о преимуществе его перед GUI-редакторами. Конкретно этот тред начался с вопроса - а действительно ли это консольный скрин, уж больно навороченный. На что последовало заявление, что какая разница, даже если не консольный, через ssh туннели можно что угодно гонять.
На что я ответил, что возможность работать через ssh и иметь полноценный доступ к среде разработки - дорогого стоит. И это возможно благодаря тому, что vim - это консольный редактор, в отличие от всяких Sublime Text или VS Code.>> А про ssh траффик: ты замерь для интереса - обнаружишь, что он не капли не крохотный, и за пару часов редактирования файла ты запросто можешь передать в десять-двадцать раз больше данных, чем размер самого редактируемого файла.
Он крохотный на фоне аналогичных по функционалу решений типа графического remote desktop. То есть что-то, что дает мне доступ ко всем ресурсам удаленной машины. Сравнивать этот траффик с размером редактируемого файла вообще не вижу смысла - это теплое с мягким, разные вещи совершенно.
Даже если в каких-то случаях я за 2 часа израсходую лишних пару мегабайт траффика, удобство использования на порядок важнее этой экономии на спичках.
> работать через ssh и иметь полноценный доступ к среде разработки - дорогого стоит. И это возможно благодаря тому, что vim - это консольный редактор, в отличие от всяких Sublime Text или VS Code.Ни сколько оно не стоит, ибо, как я уже говорил, ты можешь примонтировать SFTP прямо к файловой системе и юзать любое IDE, включая графические. А все остальные тулзы использовать дергать по-старинке в терминале через ssh (хотя в нормальной IDE с интеграцией SSH это и не нужно - даже в том же VSCode есть расширение "Remote - SSH").
> Сравнивать этот траффик с размером редактируемого файла вообще не вижу смысла - это теплое с мягким, разные вещи совершенно. Даже если в каких-то случаях я за 2 часа израсходую лишних пару мегабайт траффика, удобство использования на порядок важнее этой экономии на спичках.
Ты изначально написал, что использование vim на удаленной машине позволяет не "гонять по сети траффик файловой системы, а гонять лишь крохотный траффик обновления экрана терминала.". На что я и ответил, что траффик файловой системы (например, при использовании sshfs или тем же локальным "vim scp") - это цветочки по сравнению с траффиком обновлений терминала.
Удобство использования, говоришь? Да, это же такой кайф - наслаждаться задержками при нажатии клавиш и возможность попрощаться с несколькими минутами работы при обрыве SSH-сессии из-за отвалившегося интернета...
> возможность попрощаться с несколькими минутами работы при обрыве SSH-сессии из-за отвалившегося интернетаtmux
По тому что ты не знаешь о существовании screen и tmux виден уровень знаний )
Мы тут про "удобство", "через дайлап" или про "пофиг на пару лишних мегабайт"? Если про первое - так работай в репе, не svn чай, второе противоречит первому и третьему, третье... Use rdp, Luke!
>Это именно что преимущество vim - отсутствие необходимости гонять по сети траффик файловой системы, а гонять лишь крохотный траффик обновления экрана терминала.У вас очень странное представление о том как сетевые файловые системы работают.
Бред какойто написали. Если вы не пользуетесь консольными редакторами это не зничит, что никто не пользуется.
Почему бред? И с чего взяли, что не поьзуюсь?
Ты прикалываешься? На 99% серверах всё только консольное! А иксы - дыра.
> пользоваться через SSHзачем это нужно? или ты из тех, кто заходит через FTP на прод и правит прямо там INDEX.PHP? а дебажит через VAR_DUMP?
> пользоваться через SSH
> заходит через FTP на продСлышал звон, да не знаю, где он...
Подожди-подожди, то есть ты ПРОТИВ того, чтобы можно было делать что-то не нужное в 100% случаев, но что в принципе прикольно делать? Ты против «смотри как могу»? Ты против «сборка на малинке, толстый ноут 2005 года — тонкий клиент»? Ты вообще линукс? А? Ты туда зашёл?
>> зачем это нужно? или ты из тех, кто заходит через FTP на прод и правит прямо там INDEX.PHP? а дебажит через VAR_DUMP?Я, например, довольно много кода пишу через ssh как раз в vim на iPad Pro через эмулятор терминала. Шикарный экран, весит почти ничего, супер удобно. Не всегда, но довольно часто.
Но с учетом того, что у тебя на проде PHP и FTP, ожидаю полный пролетарской ненависти коммент про iPad Pro, а не что-то по теме:D
> на iPad Pro через эмулятор терминалаПодними уже жопу с дивана и усядь ее за компьютер. Хоть парочку калорий сожжешь.
> супер удобно. Не всегда, но довольно часто.
Когда дислоцируешь свою жопу с дивана в сторону компьютера, супер-удобно будет не "часто", а всегда. По SSH они логинятся. Правят они там что-то через вим. Хелловорлды что ли правишь?
>>Подними уже жопу с дивана и усядь ее за компьютер. Хоть парочку калорий сожжешь.
>>Когда дислоцируешь свою жопу с дивана в сторону компьютера, супер-удобно будет не "часто", а всегда. По SSH они логинятся. Правят они там что-то через вим. Хелловорлды что ли правишь?Уточняем твоей профиль - PHP, Denwer, на прод заливаешь через FTP.
Ты вернул себе твой 2007г?
Какие-то комплексы про лишний вес.И еще скорее всего виндузятник.
Поэтому и ssh тебе в тягость, и понятия не имеешь, как удобно работать в vim с большими кодовыми базами. Свои hello world'ы ты гордо пилишь в серьезных IDE, like a pro (по твоему мнению).
> Ты вернул себе твой 2007г?Нет, это то, чем я был в славном 2оо7. Для тебя 2оо7 все еще не закончился, раз ты со серьезными щщами заявляешь, что "коннектишься куда-то по ssh что-то править". Ты даже не догадываешься о том, что с 2оо7 придумали куда более лучшие инструменты для конфигурирования машин.
> Поэтому и ssh тебе в тягость, и понятия не имеешь, как удобно работать в vim с большими кодовыми базами.
Именно с большими кодовыми базами я и работаю, а vim годится только для пет-проектов. Ну окей, годится и для чего-то бОльшего при подключении LSP -- продукта ненавистного тобой микрософта, разработанного для ненавистного тобой vscode.
Блдь, "коннектиться по ssh, править /etc/issue через vim". Ну пздец. Нашел чем гордиться.
>Я, например, довольно много кода пишу через ssh как раз в vim на iPad Pro через эмулятор терминала.А как ключ передаёте в ссш?
Там из терминала ФС доступна?
Чтоб ноутбук не жрал батарейку и не грелся до сотки, разработка ведётся на удаленной тачке (возможно даже удаленной ВМ). Но если у тебя там пара пхп файлов то конечно пофиг. современнный интернет вполне себе позволяет и вимом в терминале пользоваться без проблем.
> А как оно в консоли работает? Или не работает?
> Если нет, как пользоваться через SSH?Даже если бы оно не работало в консоли, может быть проще примонтировать SFTP к файловой системе и не париться.
Это просто предподготовленная конфигурация для Neovim. Подобного много, самые популярные - LunarVim, AstroNVIM. Так что, конечно, оно работает консольно. Зная какие плагины там используются, проще оказывается делать свою конфигурацию, чем возится с проблемами сторонних
Не совсем. Если тебя сборка устраивает до такой степени, что максимум что нужно - это пару хоткеев поменять/новые назначить, то проще использовать сборку. В плагинах регулярно что-то ломают, объявляют какие-то опции устаревшими, и всю эту работу авторы сборки берут на себя.
> А как оно в консоли работает? Или не работает?Нормально работает.
>>Нормально работает.Вот ровно так, как на скрине в новости? Есла да, то интересно, каким образом в полупрозрачных областях есть символы которые находятся в одном и том же знакоместе - один с нижнего слоя, второй с верхнего? Я понимаю, как можно сделать полупрозрачный фон в консольном приложении, но тут же явно 2 разных символа один над другим.
Там определенные терминалы нужны
Так они не поверх рендерятся, а вперемешку. Это одно окно, нет тут полупрозрачности, просто такой эффект создается.
>> Так они не поверх рендерятся, а вперемешку.Что значит "вперемешку"?
>> Это одно окно, нет тут полупрозрачности, просто такой эффект создается.
Понятно, что это одно оконо, и что это эффект. Но экран в терминале это прямоугольная матрица, в каждой ячейке которой находится ровно один символ. Символы могут быть и пиктограммами, и со стилями типа bold, italic, underline. Ты можешь управлять цветом фона и цветом текста. Некоторые редкие терминалы имеют еще свистелки-перделки типа мигания.
Любой терминал с поддержкой true-color без проблем в состоянии отобразить такой эффект.
Допустим, ты хочешь поверх текста отобразить модальное полупрозрачное черное окно с каким-то сообщением. Само собой у тебя нет никаких слоев - ты примешиваешь немного черного к цвету фона "нижнего" текста, примешиваешь немного черного к цвету самого "нижнего" текста и выводишь текст с этими цветами, в один реальный слой. Но выглядеть это будет действительно как полупрозрачная темная пелена поверх, при условии, что терминал способен отображать true-color (большинство уже могут).Но в любом случае, в любой позиции у тебя всегда находится один единственный символ. На скрине в новости в одном и том же знакоместе их два - один с нижнего слоя, второй с верхнего.
>а скрине в новости в одном и том же знакоместе их два - один с нижнего слоя, второй с верхнего.Видимо,зрение подводит. Не вижу. Можно пример, где искать?
Там видать нужен терминал который это поддерживает типа kitty, alacritty и тп. Сомневаюсь что скрины и xtermа сделаны
Название отражает сущность пользователей, и это прекрасно, сразу понятно, что это и для чего.
Мне лично всегда было лень настраивать neovim под себя, так что я рад существованию подобного проекта
Если ты lazy, просто ставишь vscode и не паришься с каким-то там модальным редактором.
> Если ты lazy, просто ставишь vscode и не паришься с каким-то там
> модальным редактором.Собственно, это я и сделал
А она точно консольная? А то на скриншоте графические значки присутствуют.
Это же nerd-fonts
А шрифт текущей вкладки?
Это эмодзи.
какая гадость, даже ставить на посмотреть не буду
> Это эмодзиЯ тоже подумал, что если в консоли нарисованы не-asciii-символы, то там дело пахнет иероглифами (на современном языке - эмодзями), а это уже попахивает необходимостью перенастройки консоли из кои8-р на утф. :-(
>> А она точно консольная? А то на скриншоте графические значки присутствуют.Скорее всего нет. В области полупрозрачных вставок есть места, где явно видно 2 символа с верхнего и нижнего "слоев" в одном и том же знакоместе. В консольных приложениях можно до определенной степени эмулировать полупрозрачность (если терминал поддерживает много цветов), но в каждый конкретный момент в определенной позиции может быть находиться только один символ. На скрине новости явно видно, что символы сидят один на другом.
В консоли можно хоть картинки, было бы желание.
Ну как желание. Тупо cat file в эмуляторе терминала и он выводит эти sixel.
Нет такого на скрине
В требованиях же всё написано:a Nerd Font(v3.0 or greater) (optional, but needed to display some icons)
a terminal that support true color and undercurl
> needed to display some icons"GUI для слабаков" говорили они.
Для себя решил, что иконочные шрифты это надежный маркер говнософта. Nerd Fonts умудряются рендериться хуже своих оригиналов, Powerline символы вообще почти никогда не стыкуются, а если брать гуевые типа Font Awesome или Material Icons, то нормально их выровнять по высоте, если они находятся внутри одного текста, практически невозможно.Подобным же сборкам NeoVim'а есть альтернатива - Helix, где все выглядит довольно лаконично - никаких иконок, вкладок, дерева файлов на четверть экрана, но есть встроенный аналог Telescope. При этом все нативное, т.е. не надо каждый раз молоть тонну скриптов и не надо париться за их надежность - просто Ctrl+z, и сделали mkdir ручками.
Helix на самом деле просто пушка. Модель movements в нем для меня выглядит более логичной, чем Vim, и из коробки работает практически все необходимое. Однако сам редактор еще сыроват и не без своих приколов. И дебаггера очень не хватает :( Но за нормальным дебаггером надо в GUI редакторы и IDE идти.
Там около года как есть поддержка DAP, хоть и до сих пор эксперименьная.
'loaded 12 plugins in 12.5 ms' чето долго, обычный vim мгновенно стартует и можно работать (да, без всякой хипстерской требухи).
Что ж такого вы успеете сделать за 0.012 секунды?
Написать в опеннет вестимо
Изойти на ….
Всем известно, что все эти редакторы нужны только для подпила бесконечных скриптов, исправляющих глюки этих же редакторов. Реальная работа делается в серьёзных инструментах.
Всё зависит от сборки, есть вполне себе сборки классического vim'а с плагинами, с которыми люди годами серьезный код в серьезный продакшен пишут и проблем с подпилом скриптов не стоит. Но для того, чтобы добиться такой стабильности, сборки подгонялись сильно не за неделю даже. В сущности - штучный продукт. Философский вопрос - а оно того изначально стоило или можно было сразу использовать годные альтернативы, готовые к работе "из коробки"? :-)
Вполне себе люди за деньги кодят и в vim, и в emacs, и в FAR внезапно. Бесконечные настраивальщики wm и редактора "патсибя" на локалхосте... смешно, да =)
По модели vscode (текстовый редактор плюс плагины плюс language server) получается вполне полноценная IDE. Никто же не жалуется на то, что vscode - на самом деле не IDE, а текстовый редактор. (Neo)vim и emacs могут всё то же самое. Если лень подбирать и конфигурировать плагины самому - вот, есть готовые сборки, типа сабжевой.
Вот сколько не пытался(а я пытался), так и не осилил в vim/neovim сделать step-by-step отладку для bash-скрипта. А в VSCode это делается за 10 минут, установкой соответствующего плагина-отладчика.
vscode эта плоха, диды писали в vim, консоль! неосиляторы вима, редактор должен быть неудобным! я выучил на днях комбинацию клавиш, которая заменяет пятнадцатую строку кода четными гласными символами двадцать девятой строки кода из шестнадцатого снизу файла соседней папки, постоянно пользуюсь (в vscode пришлось бы возиться)
Для баш-скриптов всегда хватало банального set -xv. Может, потому что я их пишу в стиле Gentoo, с разделением на небольшие легко тестируемые функции, а не debian style портянки.А вообще вроде как раз для vscode плагина есть адаптер для neovim.
Если лень подбирать плгины можно взять готовую IDE
> Если лень подбирать плгины можно взять готовую IDEНапример, какую?
Кому какой редактор нравится тот и используется. Есть даже кто notepad++ использует для серьëзной разработки.
Есть большое количество людей пользующихся vscode, но мне он показался медленным потому остался на pycharm.
> Реальная работа делается в серьёзных инструментахКакие серьёзные инструменты для реальной работы посоветуете?
В частности интересуют божеские способы отладки перл-скриптов вместо вылавливания значений переменных в логах или вывода этих значений в stdout по методам из "эпохи фортрана". :-)
Мышевозам это не понравится.
Это не понравится из-за того, что всё портит и пищит, и выход по killall LazyVim.
Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak
А вот не гадить в системе религия не позволяет?
Скока можно говны делать? Можно одну добротную IDE и не на Java
Для vim важен навык слепой работы с клавиатурой.
Без этого "плагина" все эти vim и emacs бесполезны, и только вредят.Говорю как человек серьёзно пытавшийся перейти на NeoVim с линейки IDEA.