# Text Editor **Repository Path**: cancha/Text-Editor ## Basic Information - **Project Name**: Text Editor - **Description**: 使用C语言,自己编写一个文本编辑器,实现语法高亮,文本搜索等功能 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://viewsourcecode.org/snaptoken/kilo/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-02 - **Last Updated**: 2024-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Text Editor ### 介绍 创建文件编辑器 ### 修改说明 > edit 1 关闭规范模式,命令行会逐字节读取输入信息,这里意味着当我们想要退出的时候只需要按 *q* 即可实现程序的退出,我们不再需要回车键去控制按行读取的数据 > edit 2 输出按键的字节信息,方便调试控制查看我们按键输入的字节流,清楚知道我们输入的是哪些信息流 > edit 3 关闭终止信号,这时我们再按出组合键的情况下,我们就可以直接输出非字符组合输入的情况 > edit 4 禁用输入暂停(Ctrl-S)和继续(Ctrl-Q)快捷键,上一个程序的情况下,在按键暂停(Ctrl-S)的情况下,程序暂停,此时按键输入不会在控制台显示,再按下继续(Ctrl-Q)时,之前按下的数据就会显示控制台,禁用后就会显示对应控制的模式对应的原始数据 > edit 5 *IEXTEN* 控制台禁用(Ctrl-V)组合键,但是在wsl组合键中无法实现,没有达到禁用效果 > edit 6 *ICRNL* 该标志区分回车和新行控制,修复(Ctrl-M)和(Ctrl-J)在控制台解析到数据相同 > edit 7 *OPOST* 此标志让用户区分于"\n"和 "\r\n",在“\n”中换行标志,光标会在此出现在当前列的情况下移动至下一行,而“\r\n”就相当于我们控制键里面的回车换行,光标会出现于新行的最左端 > edit 8 补充标志,这些标志位可能已经被关闭了,所以将其使用是为了保证我们认为启动的是“原始模式” > edit 9 超时输入,表示在一段时间内,在没有控制台输入的情况下就会返回原始的数据 > edit 10 错误处理,让我们每一次来检查库函数调用是否失败,如果失败则输出错误信息并退出 > edit 11 添加信息判断修改,将推出条件修改为Ctrl-Q > edit 12 重写数据读取代码,终端不会输出原有按键信息 > edit 13 将转译字符写入终端中,达到擦除屏幕中信息的效果 > edit 14 重定位光标,使得在程序启动的时候光标默认在坐上角 > edit 15 让我们清除屏幕并在程序退出时重新定位光标。如果渲染屏幕中间发生错误,我们不想要一堆屏幕上残留的垃圾,我们不希望打印错误光标恰好在那个点上的位置 > edit 16 更新绘制波浪号,模仿vim编辑器处理输出 > edit 17 创建结构体存储全局编辑框状态信息 > edit 18 获取窗口大小 ...... 更多代码块功能添加与修改概要请关注 [commits]: https://gitee.com/cancha/Text-Editor/commits/master ### 开发环境 gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) GNU Make 4.2.1