#语法高亮 #编辑器 #UTF-8 #终端文本 #终端 #Rust

app cedrh

cedrh - 使用Rust编写的简单控制台文本编辑器,具有语法高亮

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文本编辑器

Download history

每月 199次下载

MIT/Apache

82KB
2K SLoC

Cedrh - 使用Rust编写的文本编辑器

警告:工作仍在进行中

目录

概述

Cedrh (来自英语 Console EDitoR with syntax Highlighting) - 具有基本语法高亮的控制台文本编辑器。

https://github.com/SergoGansta777/Cedrh/assets/98104790/a68d4e14-f323-4674-a80b-d0a3621808e4

该编辑器是作为关于“开发具有语法高亮的文本编辑器”主题的课程作业而编写的。选择Rust作为编程语言,因为它是现代系统编程语言,并且该语言在编写现代控制台实用程序(如ripgrepbat)时非常活跃。主要目标是通过学习Rust和开发具有控制台界面的文本编辑器的通用原则来熟悉Rust,在学习和工作的过程中,我受到了Build Your Own Text EditorKiro的积极启发。

有关项目的更多信息,请参阅wiki

Cedrh提供以下基本功能

  • 打开现有文件或创建新文件
  • 编辑文件(插入、删除、添加新行等…)
  • 保存更改
  • 基本语法高亮(颜色可从终端或使用标准颜色方案获取)
  • 增量搜索
  • 原生UTF 8支持
  • 跨平台
  • 支持各种终端及其功能(窗口大小调整、全屏等…)

Cedrh是跨平台实用工具,支持以下操作系统

  • MacOs
  • Unix/Linux
  • Windows
  • BSD

安装

请使用最新的Rust版本。

Cargo安装

您可以使用cargo安装文本编辑器。为此,请输入以下命令

cargo install cedrh

之后,您可以使用以下命令启动编辑器

cedrh

二进制文件

  1. 克隆此仓库
git clone https://github.com/SergoGansta777/Cedrh.git
  1. 安装rust
  2. 在仓库根目录中运行以下命令
cargo build --release
  1. 然后您可以运行编译好的应用程序
./target/release/cedrh
  1. 然后您可以为应用程序添加符号链接以启动它

用法

要获取辅助信息,请使用标志 --help

cedrh --help

您可以通过以下方式打开现有文件进行编辑:

cedrh file

如果您想创建新文件,请直接运行编辑器或在命令中指定要创建的文件名。

映射

编辑器的管理优化为键盘操作,遵循与 nanomicro 相似的键盘快捷键组合。

操作

映射 描述
Ctrl-q 退出
Ctrl-s 保存当前文件
Ctrl-f 增量搜索
后跟 Ctrl-f 上一个匹配项
后跟 Ctrl-f 下一个匹配项

导航

映射 描述
向上移动光标
向下移动光标
向右移动光标
向左移动光标
Home 将光标移至行首
End 将光标移至行尾
PageUp 转到第一行
PageDown 转到最后一行

关于语法高亮的更多信息

Cedrh 是一个支持语法高亮的文本编辑器。为了语法高亮,cedrh 使用多种颜色定义选项。

  1. 使用支持的终端仿真器 - 在这种情况下,根据 cedrh 终端文档,它会解析包含终端颜色的配置文件。因此,cedrh 支持终端的颜色风格和用户的个人偏好,与其工作环境相匹配。如果用户想更改编辑器的颜色,他必须更改终端的设置。
  2. 如果终端不受支持,则使用 cedrh 的预置标准颜色方案。
  3. 如果指定了自定义颜色配置文件,则可以添加它,优先级高于其他设置。
  4. 使用带有 -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