Pull to refresh

Comments 26

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

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

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

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

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

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

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

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

Парсить окно это решение одной конкретной проблемы, а их там куча.
Сам недавно пересел на neovim из-за пары плагинов.
Или эффект плацебо или он вроде как пошустрее работает, ну и плюс нужный мне плагин deoplete явно быстрее своего аналога от того жа автора.
UFO just landed and posted this here
Так и скажи что не осилил.

set langmap — гугли.
UFO just landed and posted this here
Не считаю это костылем.
Но тут в другом дело, ты свой вопрос задал как «утверждение», что вим не работает при смене раскладки. А не поинтересовался как сделать, чтобы она работала.
UFO just landed and posted this here
Обратная совместимость же.
Отличные обновки, куча костылей уходит в утиль. Интересны подробности про «фреймворк для запуска тестов», не так давно закончил 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 ещё код чистили от старого и не поддерживаемого
Only those users with full accounts are able to leave comments. Log in, please.

Articles