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