Я недавно изучил C и хочу начать проект, чтобы укрепить свои знания. Я решил создать очень простой текстовый редактор, похожий на vim. Проблема, с которой я сталкиваюсь, заключается в том, что я действительно понятия не имею, как работает текстовый редактор, и я не знаю, что искать в Google, чтобы узнать об этом.
Погугление по этому поводу привело к репозиторию Vim GitHub, который для меня бесполезен, потому что кодовая база огромна, а код сбивает меня с толку. Я также нашел учебники по созданию текстового редактора на C, который работает как vim.
Хотя я думал о том, чтобы следовать учебным пособиям, это похоже на обман. Как разработчики vim выяснили, как кодировать vim без специальных руководств? Или они начинались с более простых текстовых редакторов? Как они поняли это только благодаря знанию языков и их документации?
Что именно мне нужно, чтобы начать писать этот текстовый редактор, не следуя непосредственно руководству? Еще один пример, который мне нравится думать: как Деннис Ритчи и Кен Томпсон создали Unix? У меня есть представление о том, как функционирует ОС, но я не знаю, как поместить это в код. Что мне не хватает? Как я могу передать эти знания языка для практического использования?