By doing this project I learned how to manage memory manually, debug complex pointer-related issues, and implement essential text editor features from scratch.
Working in a terminal environment also strengthened my understanding of input handling and file I/O operations, as well as how to manipulate the terminal display with escape sequences.