19个版本
0.5.1 | 2024年1月13日 |
---|---|
0.5.0 | 2024年1月13日 |
0.4.7 | 2024年1月13日 |
0.4.1 | 2023年12月31日 |
0.3.9 | 2023年12月30日 |
#47 在 文本编辑器 中
每月 199次下载
82KB
2K SLoC
Cedrh - 使用Rust编写的文本编辑器
警告:工作仍在进行中
目录
概述
Cedrh (来自英语 Console EDitoR with syntax Highlighting) - 具有基本语法高亮的控制台文本编辑器。
https://github.com/SergoGansta777/Cedrh/assets/98104790/a68d4e14-f323-4674-a80b-d0a3621808e4
该编辑器是作为关于“开发具有语法高亮的文本编辑器”主题的课程作业而编写的。选择Rust作为编程语言,因为它是现代系统编程语言,并且该语言在编写现代控制台实用程序(如ripgrep或bat)时非常活跃。主要目标是通过学习Rust和开发具有控制台界面的文本编辑器的通用原则来熟悉Rust,在学习和工作的过程中,我受到了Build Your Own Text Editor和Kiro的积极启发。
有关项目的更多信息,请参阅wiki
Cedrh提供以下基本功能
- 打开现有文件或创建新文件
- 编辑文件(插入、删除、添加新行等…)
- 保存更改
- 基本语法高亮(颜色可从终端或使用标准颜色方案获取)
- 增量搜索
- 原生UTF 8支持
- 跨平台
- 支持各种终端及其功能(窗口大小调整、全屏等…)
Cedrh是跨平台实用工具,支持以下操作系统
- MacOs
- Unix/Linux
- Windows
- BSD
安装
请使用最新的Rust版本。
Cargo安装
您可以使用cargo
安装文本编辑器。为此,请输入以下命令
cargo install cedrh
之后,您可以使用以下命令启动编辑器
cedrh
二进制文件
- 克隆此仓库
git clone https://github.com/SergoGansta777/Cedrh.git
- 安装rust
- 在仓库根目录中运行以下命令
cargo build --release
- 然后您可以运行编译好的应用程序
./target/release/cedrh
- 然后您可以为应用程序添加符号链接以启动它
用法
要获取辅助信息,请使用标志 --help
cedrh --help
您可以通过以下方式打开现有文件进行编辑:
cedrh file
如果您想创建新文件,请直接运行编辑器或在命令中指定要创建的文件名。
映射
编辑器的管理优化为键盘操作,遵循与 nano
或 micro
相似的键盘快捷键组合。
操作
映射 | 描述 |
---|---|
Ctrl-q |
退出 |
Ctrl-s |
保存当前文件 |
Ctrl-f |
增量搜索 |
↑ 或 ← 后跟 Ctrl-f |
上一个匹配项 |
↓ 或 → 后跟 Ctrl-f |
下一个匹配项 |
导航
映射 | 描述 |
---|---|
↑ |
向上移动光标 |
↓ |
向下移动光标 |
→ |
向右移动光标 |
← |
向左移动光标 |
Home |
将光标移至行首 |
End |
将光标移至行尾 |
PageUp |
转到第一行 |
PageDown |
转到最后一行 |
关于语法高亮的更多信息
Cedrh 是一个支持语法高亮的文本编辑器。为了语法高亮,cedrh 使用多种颜色定义选项。
- 使用支持的终端仿真器 - 在这种情况下,根据 cedrh 终端文档,它会解析包含终端颜色的配置文件。因此,cedrh 支持终端的颜色风格和用户的个人偏好,与其工作环境相匹配。如果用户想更改编辑器的颜色,他必须更改终端的设置。
- 如果终端不受支持,则使用 cedrh 的预置标准颜色方案。
- 如果指定了自定义颜色配置文件,则可以添加它,优先级高于其他设置。
- 使用带有
-d
标志启动程序始终使用标准颜色方案(更多信息请参阅 --help)
支持终端列表
- Kitty
- Iterm2
自定义配置的目录路径
Linux/MacOs
: "~/.config/cedrh/cedrh.conf"- Windows: 正在进行中
自定义配置示例
foreground #CDD6F4
background #09081B
active_border_color #B4BEFE
# The 16 terminal colors
color0 #45475A
color8 #585B70
color1 #F38BA8
color9 #F38BA8
color2 #A6E3A1
color10 #A6E3A1
color3 #F9E2AF
color11 #F9E2AF
color4 #89B4FA
color12 #89B4FA
color5 #F5C2E7
color13 #F5C2E7
color6 #94E2D5
color14 #94E2D5
color7 #BAC2DE
color15 #A6ADC8
依赖项
~2.5–8MB
~61K SLoC