URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 105319
[ Назад ]

Исходное сообщение
"Первый выпуск Neovim, модернизированного варианта редактора ..."

Отправлено opennews , 03-Ноя-15 15:31 
Состоялся (https://github.com/neovim/neovim/releases/tag/v0.1.0) первый релиз проекта Neovim (https://neovim.io/), в рамках которого развивается ответвление от редактора Vim, разработка которого
сфокусирована (https://github.com/neovim/neovim/wiki/Introduction) на  повышении расширяемости и гибкости. В рамках проекта Neovim уже около двух лет проводится агрессивная переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и  реализующие новую расширяемую архитектуру (https://github.com/neovim/neovim/wiki/Plugin-UI-architecture) на основе плагинов.


Из проблем Vim отмечается раздутая монолитная кодовая база, состоящая более чем из 300 тысяч строк кода на языке Си (C89). Во всех нюансах кодовой базы Vim разбирается всего несколько человек, а все изменения контролирует один мэйнтейнер, что затрудняет сопровождение и работу над усовершенствованием редактора. Вместо встроенного в ядро Vim  кода для поддержки GUI в Neovim предлагается использовать универсальную прослойку, позволяющую создавать интерфейсы с использованием различных тулкитов.


В первом выпуске уже готовы механизмы для автоматического объединения истории работы между несколькими экземплярами редактора, система конфигурации переработана для соответствия требованиям стандарта XDG, встроен (https://www.youtube.com/watch?v=xZbMVj9XSUo) эмулятор терминала, добавлены средства выполнения работ в асинхронном режиме (можно запустить команду и не дожидаясь её завершения вернуться к редактированию),  добавлен API MessagePack (https://msgpack.org/) для взаимодействия с плагинами и подготовлены средства отслеживания изменения состояния. Из выполняемых в настоящее время работ отмечается портирование кода ввода/вывода на библиотеку libuv (https://github.com/libuv/libuv/), замена тестового набора на тесты Lua и использование вместо языка VimL транслятора Lua.

Плагины к Neovim запускаются как отдельные процессы, для взаимодействия с которыми используется формат MessagePack. Взаимодействие с плагинами производится в асинхронном режиме, без блокирования базовых компонентов редактора. Для обращения к плагину может использоваться TCP-сокет, т.е. плагин может запускаться на внешней системе. При этом  Neovim остаётся обратно совместимым с Vim, продолжает поддерживать Vimscript (Lua предлагается в качестве альтернативы) и поддерживает подключения большинства штатных плагинов Vim. Расширенные возможности Neovim могут быть использованы в плагинах, построенных с использованием специфичного для Neovim API.

В настоящее время уже подготовлено (https://github.com/neovim/neovim/wiki/Related-projects#plugins) около 20 специфичных плагинов, доступны биндинги для создания плагинов и реализаций интерфейсов с использованием различных языков программирования (C++, Clojure, Perl, Python, Go, Java, Lisp,Lua, Ruby) и фреймворков (Qt5, ncurses, Node.js, Electron, GTK+). Развивается несколько вариантов пользовательского интерфейса.  GUI-надстройки во многом напоминают плагины, но в отличие от плагинов они инициируют вызов функций Neovim, в то время как плагины вызываются из Neovim.

URL: https://news.ycombinator.com/item?id=10488188
Новость: http://www.opennet.me/opennews/art.shtml?num=43250


Содержание

Сообщения в этом обсуждении
"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 03-Ноя-15 15:31 
Я читал на хакер ньюс что типа уже пользоваться можно.
Неужто ж?

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено ildus , 03-Ноя-15 16:05 
Можно, уже с полгода использую

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Ктулху , 03-Ноя-15 23:06 
> Из проблем Vim отмечается раздутая монолитная кодовая база, состоящая более чем из 300 тысяч строк кода на языке Си (C89).

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

"Из проблем Vim отмечается раздутая монолитная кодовая база, состоящая более чем из 300 тысяч строк кода на языке Си (C89)."

Так что истинного удовольствия можешь и не получить.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 04-Ноя-15 07:54 
> Но не забывай, что тёплая ламповая Сишечка используется только в оригинальном продукте

Из какого пальца это высосано?


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 05-Ноя-15 09:32 
Питон, кстати, напрягает. VIM 6.4 был последним, в котором при практически любом размере тег-файлов не тормозило дополнение по ctrl-p и поиск определения по ctrl-5. Появился питон и розавэнько-сыреневый выпадающий список вариантов для дополнения. Даже при отключении этого смешного списка вариантов поиск теперь подтормаживает. Теперь свободно можно во время поиска вариантов успеть прервать поиск дополнения часто с потерей уже набранного куска слова. К списку выражений "трава раньше была зеленее " можно добавлять "вим уже не тот."

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 08-Ноя-15 21:25 
А не надо использовать тормозной ctags.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено бедный буратино , 03-Ноя-15 15:34 
а почему не vimacs?

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Andrey Mitrofanov , 03-Ноя-15 16:26 
> а почему не vimacs?

Если тому, кому нужен emacs, вдруг понадобится vim... В общем, я уже запутался, кто на ком стоял, но в имаксе есть много-много-много (f.e. evil, modal, god-mode, hydra, ) плугов для адептов однопальцевого ввода. Таблицы-картинки-скрипты-орг-почта-всёвсёвсё в виме когда уже появятся?    //ihbt


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено . , 03-Ноя-15 22:48 
Ну дык судя по новости ... скоро :)

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено аннаним , 03-Ноя-15 15:39 
Ого, пора разрабатывать урезанную версию Emacs, чтобы безовсяких там расширений, и чтобы маленький... и чтобы пикал все время!

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено ssh , 03-Ноя-15 16:26 
mg ;)

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено systemd_anonymousd , 03-Ноя-15 17:49 
> Ого, пора разрабатывать урезанную версию Emacs, чтобы безовсяких там расширений, и чтобы
> маленький... и чтобы пикал все время!

mg, zile, microEmacs и ещё что-то.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Led , 03-Ноя-15 21:38 
Возьми uemacs, пипикалку на каникулах сам приделелаешь.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено qweqwe , 03-Ноя-15 15:45 
>Ого, пора разрабатывать урезанную версию Emacs, чтобы безовсяких там расширений

А зачем нужен емакс без расширений?

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


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Andrey Mitrofanov , 03-Ноя-15 16:28 
>>Ого, пора разрабатывать урезанную версию Emacs, чтобы безовсяких там расширений
> А зачем нужен емакс без расширений?

Для хоть какой-то конкуренции с субжом.

> Не, я конечно согласен, что искаробочная версия совсем нифига не модульная.

Которго из двух??


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Andrey Mitrofanov , 03-Ноя-15 19:03 
>>>Ого, пора разрабатывать урезанную версию Emacs, чтобы безовсяких там расширений
>> А зачем нужен емакс без расширений?
> Для хоть какой-то конкуренции с субжом.

Вот сейчас на ещё-один-тм набрёл: http://www.notgnu.org/ -- без GNU, без GPL (-NC cant tuch zis), зато с виндой и ДОСом.    2006 г.

На самом этих обрубочных имаксо-подобных газзилион. И все _протухшие_ 200N-ного года, если не старше, последний раз троганные автором (одним в поле, вероятно -- у каждого). Примерно тогда у школьников прошла мода на "я написал ридактор"?

Какой-то из них, ущербных, валялся у Торвальдса на ftp://kernel.org/ .

В Debian-е как-то смотрел - 3-4-или-5, не помню, штук нашёл. Ни один толком или не запустился (терминала не узнал?), или тупо русский [utf8~] плоский текст не открыл.

Посмотрел xemacs - релиз 2013.

Останется только один, надо полагать. НьюИмэкс Ричардович Маклауд.

---
http://www.thefullwiki.org/Emacs#wikipedia_Other_forks_and_c...
https://docs.cs.byu.edu/wiki/Emacs:_A_Basic_Introduction#Others
...
http://www.linux-magazine.com/Online/News/Microsoft-to-Creat...
http://www.bellard.org/qemacs/


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено rob pike , 03-Ноя-15 17:32 
> искаробочная версия совсем нифига не модульная

И чем же это она "не модульная"?


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено freehck , 05-Ноя-15 09:47 
А вы знаете, почему искаробочная версия нифига не модульная? Да просто потому, что Emacs поставляется в образе виртуальной lisp-машины, в которой все эти модули уже загружены-запиханы. Иными словами возможность избавиться от модулей базовой поставки всё-таки имеется, но для этого Emacs надо пересобирать.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено rob pike , 06-Ноя-15 01:15 
> поставляется в образе виртуальной lisp-машины

Так он и есть в некотором роде lisp-машина, и что?

> в которой все эти модули

Только несколько самых основных.

> возможность избавиться от модулей базовой поставки

Зачем от них избавляться? Чтоб в кофеварку с 256 kB памяти поместилось?


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено freehck , 03-Дек-15 19:16 
>> поставляется в образе виртуальной lisp-машины
> Так он и есть в некотором роде lisp-машина, и что?

Окей, я не совсем корректно выразился. Поставляется именно образ виртуальной lisp-машины.
То есть со всем собрались, всё подгрузили, сдампили образ на диск, и каждый раз при старте Emacs его разворачиваем.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Spoofing , 03-Ноя-15 15:56 
текстовых редакторов так много, и в тоже время нет ниодного.
скучаю по notepad.exe, но увы, из-за хоткея Ctrl + S захваченного шеллом, такого же удобного для консоли текстового редактора не сделать.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Anon99 , 03-Ноя-15 16:01 
Зачем же мучиться, если есть десяточка?

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Имя , 03-Ноя-15 16:02 
AkelPad

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено anonblmus , 03-Ноя-15 16:12 
А что это за шелл такой, что стандартные хоткеи под себя подгребает?

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Spoofing , 03-Ноя-15 16:17 
bash, например. нажмите Ctrl + S, это пошлёт SIGSTOP сигнал процессу, и остановит выхлоп в консоль программы, а далее, как заполнится буфер (ОЧЕ маленький), программа встанет на паузу. Ctrl + Q пошлёт SIGCONT сигнал процессу и программа продолжит выполняться.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Пользователь Debian , 03-Ноя-15 16:24 
Напишите в свой ~/.bashrc:

  stty -ixoff

и Ctrl-S у вас не будет "перехватываться шеллом" (на самом деле она обрабатывается Вашим эмулятором терминала).


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено anonblmus , 03-Ноя-15 16:35 
> и Ctrl-S у вас не будет "перехватываться шеллом" (на самом деле она
> обрабатывается Вашим эмулятором терминала).

Я подозревал, что дело не в шелле...


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Пользователь Debian , 03-Ноя-15 16:27 
> bash, например. нажмите Ctrl + S, это пошлёт SIGSTOP сигнал процессу, и
> остановит выхлоп в консоль программы, а далее, как заполнится буфер (ОЧЕ
> маленький), программа встанет на паузу. Ctrl + Q пошлёт SIGCONT сигнал
> процессу и программа продолжит выполняться.

Прошу прощения -- команда должна быть такая:

  stty ixoff -ixon



"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено anonblmus , 03-Ноя-15 16:30 
> bash, например. нажмите Ctrl + S, это пошлёт SIGSTOP сигнал процессу

Продолжает выполняться при нажатии любой клавиши, не только Ctrl + Q.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Васёк , 03-Ноя-15 16:14 
Mousepad/leafpad спешат на помощь

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено aborodin , 04-Ноя-15 07:29 
> но увы, из-за хоткея Ctrl + S захваченного шеллом, такого же удобного для консоли текстового редактора не сделать.

Как же это в mcedit ctrl-s работает?


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 03-Ноя-15 17:33 
>Из проблем Vim отмечается раздутая монолитная кодовая база
>встроен эмулятор терминала

хорошее начало!


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено v.v.b. , 03-Ноя-15 18:06 
неужто vimd будет, по аналогии с системд?

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено foo , 03-Ноя-15 23:41 
по аналогии с emacsd

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 03-Ноя-15 17:45 
Интересно, что более "вечно" - редактор VI или желание все "мыр-дыр... незировать"? :)))

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено systemd_anonymousd , 03-Ноя-15 17:52 
> Интересно, что более "вечно" - редактор VI или желание все "мыр-дыр... незировать"?
> :)))

Где-то читал, что когда в 1990-каком-то году появился Vim, к нему тоже со скептицизмом отнеслись: сможет ли он потеснить Vi?

Таки смог. Что будет дальше - посмотрим.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено rob pike , 03-Ноя-15 19:10 
И до сих пор относятся. Используют nvi.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Andrey Mitrofanov , 03-Ноя-15 19:08 
> Интересно, что более "вечно" - редактор VI или желание все "мыр-дыр... незировать"?
> :)))

Намекаете на делать второе над первым?


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 03-Ноя-15 22:31 
neovim появился по той же причине что io.js - мейнтейнер vim так долго проверяет пулл реквесты и так часто отказывается их мерджить без объяснения причин, что люди плюнули и начали пилить форк. К чему это приводит: зайдите в репы и сравните активность за любой промежуток времени. Пулл реквесты, багрепорты, и так далее - neovim сейчас пилят в разы активнее чем vim.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Vkni , 04-Ноя-15 00:10 
> Пулл реквесты, багрепорты, и так далее - neovim сейчас пилят
> в разы активнее чем vim.

Это не проблема. Вопрос - надо ли пилить-то.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено chinarulezzz , 04-Ноя-15 07:30 
кому надо - те пилят.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 04-Ноя-15 09:02 
Конечно, надо. Ведь главная проблема vim это невозможность нормально писать аддоны. VimL просто АДСКИ убогий.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 03-Ноя-15 18:42 
поддержка android?

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено анонимус вульгарис , 03-Ноя-15 20:53 
https://f-droid.org/repository/browse/?fdfilter=vim&fdid=net...

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено all_glory_to_the_hypnotoad , 03-Ноя-15 22:32 
> встроен эмулятор терминала

похоже, мы наблюдаем рождение ещё одного систем дэ.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 07-Ноя-15 06:19 
Кто о чём, а вшивый о бане... В Emacs уже давным-давно есть и эмулятор терминала, и браузер, и почтовый клиент, и черт-те что ещё. Не так давно написали плагин, превращающий его в оконный менеджер, то есть при желании из него получается DE.

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 03-Ноя-15 23:34 
>Вместо встроенного в ядро Vim кода для поддержки GUI в Neovim предлагается использовать универсальную прослойку, позволяющую создавать интерфейсы с использованием различных тулкитов.
>Развивается несколько вариантов пользовательского интерфейса.

Подобная попытка уже была под названием Yzis, где-то в 2009 году. Делалось с GUI: Qt, KDE, ncurses.


"Отличная  новость"
Отправлено seyko2 , 04-Ноя-15 03:28 
Спасибо за информацию.
Отделение редактора от реализации интерфейса -- это пожалуй наиболее интересно.
Кстати, в OpenWatcom-v2 vim тоже сделан прилично. Но пока не всё работает под
unix. https://github.com/seyko2/open-watcom-v2

В тему: возродился crisp (под именем grief). Клон легендарного brief и multiEdit
http://sourceforge.net/projects/grief/files/griefprogguide.p...


"Отличная  новость"
Отправлено adolfus , 05-Ноя-15 16:30 
> Отделение редактора от реализации интерфейса -- это пожалуй наиболее интересно.

Да отделению рдактора от интерфейса сто лет в обед. Slickedit, бывший во времена полуоси Visual Slick Editor.
Хотите Vim? Просто выбираете соответсвующий интерфейс. Хотите emacs? -- радиокнопка чуть выше. Хотите свой? Для этого к Вашим услугам c-подобный в конструкциях язык программирования, причем компилируемый.


"Отличная  новость"
Отправлено seyko2 , 05-Ноя-15 21:09 
>> Отделение редактора от реализации интерфейса -- это пожалуй наиболее интересно.
> Да отделению рдактора от интерфейса сто лет в обед. Slickedit, бывший во
> времена полуоси Visual Slick Editor

В OS/2, DOS, Win всё давно было нормально.
А вот в linux на терминале (текстовый режим) теоретически это есть
(тот же emacs-client), а практически нет.
Из популярного только у MC приличный вид.

PS: Однако отделить mcedit от его нынешнего интерфейса и сделать
совсем нормально (редактор командуется по сокету, интерфейс у клиента
как у TurboVision) -- такого нет.

PPS: neovim собирается из исходников с большим трудом. Для сборки make
не достаточно. Надо довольно свежий CMake, curl с поддержкой ssl, и для
сборки используется C++ (не старее 4.1.2). Cmake тянет из интернета
кучу пакетов. И после всех трудов мы имеем скучный интерфейс.

PPS: а grief, как оказалось, не хочет вводить русские в utf8. Из файла
показывает нормально, а вводимые с клавиатуры разбивает на байты.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено fi , 05-Ноя-15 14:23 
Интересно, но плохо что нет готовых сборок, хотя бы в виде tar.gz

"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Алексей , 06-Ноя-15 20:07 
> Интересно, но плохо что нет готовых сборок, хотя бы в виде tar.gz

В смысле нет? Я его даже на centos 7 воткнул с репы.

Юзаю уже год, впечатление только положительное, работает сильно быстрее vim.


"Первый выпуск Neovim, модернизированного варианта редактора ..."
Отправлено Аноним , 08-Ноя-15 19:08 
Уговорили!