Как стать автором
Обновить

Комментарии 26

Ох как Брэм Муленар засуетился после форка Neovim.
Async I/O, Jobs и улучшенная система плагинов были одними из основных преимуществ Neovim, но теперь когда эти фичи появятся и в Vim 8.0 привлекательность форка сильно снижается.
Это очень похоже на ситуацию с Node.js и форком io.js.
Было бы хорошо, если бы эти нововведения помогли подсвечивать синтаксис больших файлов не укладывая при этом вим в тормоза.
Для этого подсветка должна быть по семантике кода, а не по регуляркам.
НЛО прилетело и опубликовало эту надпись здесь
А если области вокруг окна недостаточно для определения контекста и подсветки? Подсветка будет прыгать при прокрутке.
НЛО прилетело и опубликовало эту надпись здесь
Нет, достаточно подсвечивать на основании семантического разбора, который так же может быть использован не только для подсветки.
НЛО прилетело и опубликовало эту надпись здесь

Вообще, в Vim и сделано примерно как описано выше, только это "окно" определяется по строкам, столбцы не обрезаются. Правила отсечения "окна" (как далеко идти наверх от верхней строки, чтобы попасть в начальное состояние) определяются в правилах подсветки синтаксиса. Если где-то тормозит, то стоит править там в первую очередь. И да, оно бывает неправильно срабатывает из-за этого, но довольно редко. Детали в :help syn-sync.

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

Ну о том, как обходить ошибки парсинга написана не одна статья.

Я исхожу из того, что если парсить «окно», а не весь файл, то по скорости будет все равно регулярки там или полноценный парсер

Так парсить проект все равно придется, потому зачем еще что то выдумывать?

А на больших файлах без «окна» тормозит все — и регулярки и парсер

Ну если парсер инкрементарный, то не очень.

Парсить окно это решение одной конкретной проблемы, а их там куча.
Сам недавно пересел на neovim из-за пары плагинов.
Или эффект плацебо или он вроде как пошустрее работает, ну и плюс нужный мне плагин deoplete явно быстрее своего аналога от того жа автора.
НЛО прилетело и опубликовало эту надпись здесь
Так и скажи что не осилил.

set langmap — гугли.
НЛО прилетело и опубликовало эту надпись здесь
Не считаю это костылем.
Но тут в другом дело, ты свой вопрос задал как «утверждение», что вим не работает при смене раскладки. А не поинтересовался как сделать, чтобы она работала.
НЛО прилетело и опубликовало эту надпись здесь
Обратная совместимость же.
Отличные обновки, куча костылей уходит в утиль. Интересны подробности про «фреймворк для запуска тестов», не так давно закончил xUnit под vim со всеми плюшками на нативном VimL. Может кто знает подробности?
Кому любопытно, появился проект написания с нуля редактора цель которого выполнять 80% команд vim, при размере кодовой базы в 1%.

Полная совместимость не планируется, но цель сделать нечто очень похоже. Vim Script, продвинутое управление окнами, GUI реализовываться не будут принципиально. Нормальная подстветка синтаксиса уже сделана. В качестве внутреннего языка используется Lua. Запланирован RPC для внешнего управления (это вместо плагинов).

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

Проект находится вот здесь: github.com/martanne/vis

появился проект написания с нуля редактора цель которого выполнять 80% команд vim

Оо зачем?
Ну я не могу говорить за авторов, но лично я бы не отказался от vim подобного редактора с хорошим RPC, чтоб писать плагины на том языке, который удобен в данном, конкретном случае.

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

Т.е. грубо говоря цель это проекта редактор и ничего более.
Привести в порядок кодовую базу Vim дело хорошее, возможно даже делать это придется переписыванием редактора с нуля и выкидыванием с него «ненужного», я это понимаю. Проблема в том, что многие не до конца понимают сложность и ответственность этой затеи, особенно когда предлагают писать с нуля. Часто такие затеи кончаются не очень хорошо. Как по мне, лучше постепенный рефакторинг, чем все эти vis и neovim, но время, конечно, покажет.
Ну как бы на данный момент, как я уже говорил, уже есть релиз, который уже работает, в котором есть подсветка синтаксиса, все базовые кнопки, макросы, визуальный мод, множественные курсоры (новшество, относительно вим).

Им уже можно пользоваться как редактором. Что я и делаю последние два дня.
Вопрос не в том, работает vis или не работает. Вопрос в том, что в процессе переноса функциональности vim в vis, всякой кроссплатформиности и т.д. код vis может стать таким же, как код vim (в лучшем случае таким же, как vim после рефакторинга).
Ну вот, а говорили, что Neovim ненужен. Благодаря этому проекту Брэм зашевелился в правильном направлении.
Вроде neovim ещё код чистили от старого и не поддерживаемого
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории