← На главную

Автор написал текстовый редактор yvi на 100 строках

05.05.2026 17:18 · hackernews

Автор, разработчик программного обеспечения, поделился историей создания собственного текстового редактора yvi, написанного на языке программирования Yabasic. Он признается, что любит заново изобретать колесо, особенно когда дело касается кода, и считает свой стиль ручной работы результатом отсутствия формального образования в сфере компьютерных наук. Ранее он уже сталкивался с неудовлетворительным функционалом других инструментов и решил создать свой собственный статический генератор сайтов panblog. Вдохновившись проектами вроде The People's Permacomputer и простыми клиентами типа Offpunk, который использует только базовые команды навигации, автор полагал, что создать сверхпростой редактор с минимумом функций Vi будет несложно. Он не стал использовать перенос строк, чтобы упростить логику, ограничив отображение на экране 80 символами.

Для базовой реализации в Yabasic хватило примерно ста строк кода. Это позволило быстро добавить команды движения по тексту, переключения между режимами ввода и просмотра, а также функции создания и сохранения файлов. Позже функционал расширился до пятидесяти строк кода благодаря добавлению навигации по словам, перехода на начало и конец строки, удаления строк с помощью команды 'dd' и функции поиска. Также появились возможности для отмены изменений (команда 'u'), ввода сочетаний цифр от 1 до 9 для многократного выполнения операций и выполнения сложных поисковых запросов. В программу вошли дополнительные команды для замены строк, вырезания и вставки текста, а сам редактор используется автором для работы над проектами и написанием этого же поста.

Разработчик предупреждает, что yvi содержит множество ошибок и не подходит для критически важных задач, где потеря данных будет катастрофичной. Однако инструмент полностью satisfies базовые потребности в простом редактировании текста и написание небольших программ. Несмотря на неидеальный код, редактор функционален, легко изменяем и расширяем. Автор гордится тем, что смог реализовать собственную версию редактора, работающего на базе Yabasic, и считает её единственным примером реализации Vi в этом языке. Скачать yvi можно в репозитории на GitHub или на сервере tildegit.

Читать оригинал →