私は最近Cを学び、知識を固めるプロジェクトを始めたいと思っています。vimのような非常にシンプルなテキストエディタを作成することに決めました。私が直面している問題は、テキストエディタがどのように機能するのか、まったくわからないことであり、それについて学ぶために何をグーグルで検索するべきかわからないことです。
それについてグーグルで調べた結果、vimのGitHubリポジトリが作成されました。これは、コードベースが巨大であり、コードが私を混乱させるため、役に立たないものです。また、C言語でvimのような機能を持つテキストエディタを作成するためのチュートリアルも見つけました。
チュートリアルに従うことを考えましたが、不正行為のように感じます。vim開発者は、特定のチュートリアルなしでvimをコーディングする方法をどのように見つけましたか?それとも、よりシンプルなテキストエディターから始めましたか?彼らは言語とそのドキュメントの知識からそれをどうやって理解したのですか?
チュートリアルを直接実行せずにこのテキストエディタの作成を開始するために必要なものは何ですか?私が考えたい別の例は次のとおりです。デニス・リッチーとケン・トンプソンはどのようにUnixをコーディングしましたか?OSがどのように機能するかはわかりますが、それをコードに組み込む方法はわかりません。私が見逃しているのは何ですか?この言語の知識を実際の実用に移すにはどうすればよいですか?