# r_editor **Repository Path**: wang2012/r_editor ## Basic Information - **Project Name**: r_editor - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-20 - **Last Updated**: 2024-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Usage `cargo run --bin r_editor [FILENAME]` ### TODO - termion迁移到crossterm,以支持鼠标操作 - 支持Undo功能(Ctrl-Z) - 支持复制/粘贴(Ctrl-C/Ctrl-V) - 支持同一行文字过长时的换行 - ~~查看行号(Ctrl-N)~~ - ~~字体根据文件类型高亮~~ - ~~行跳转(Ctrl-G)~~ - ~~快捷键说明(Ctrl-U)~~ - 左右匹配括号高亮 - 在第一行的任意位置点击向上键,则直接将光标定位到(0, 0)坐标 - 使用气泡法提升插入删除的性能 - 提升渲染时的性能 [参考教程](https://www.flenker.blog/hecto/) ### 原教程基础上的一些优化 - 日志支持 - 支持多种日志方式(同步和异步) - 支持日志的按条件编译 - 支持记录编辑器panic时的状态 - 支持汉字光标的移动正确移动,包括添加删除后光标位置的正确 - 搜索结果优化 - 支持终端页面内的全部命中结果的高亮 - 支持光标focus目标的特殊高亮 - 优化搜索状态下focus目标移动逻辑(使用栈) - 使用Word结构对Row结构进行优化,提升页面刷新及光标移动的性能 - 使用声明宏封装print!,提升不同终端输出的辨识度 - 支持根据文件类型高亮,并支持扩展 - 支持查看行号 - 支持行跳转 - 支持快捷键说明 - 完善单测 ![editor_mode](img/editor_mode.png) ![search](img/search.png) ![row_number](img/row_number.png) ![usage_mode](img/usage_mode.png)