microsoft/edit

GitHub: microsoft/edit

微软开发的轻量级终端文本编辑器,融合经典 MS-DOS Editor 简洁风格与 VS Code 现代交互,为终端用户提供低门槛的文件编辑体验。

Stars: 14059 | Forks: 674

# ![Edit 的应用程序图标](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/ffeb08073d020129.svg) Edit 一款满足简单需求的简易编辑器。 这款编辑器向经典的 [MS-DOS Editor](https://en.wikipedia.org/wiki/MS-DOS_Editor) 致敬,但采用了类似于 VS Code 的现代界面和输入控件。其目标是提供一款易于使用的编辑器,即使是对终端不太熟悉的用户也能轻松上手。 ![Edit 的屏幕截图,前景中显示“关于”对话框](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/99910408f0020130.png) ## 安装 [![打包状态](https://repology.org/badge/vertical-allrepos/microsoft-edit.svg?exclude_unsupported=1)](https://repology.org/project/microsoft-edit/versions) 您也可以从[我们的 Releases 页面](https://github.com/microsoft/edit/releases/latest)下载二进制文件。 ### Windows 您可以使用 WinGet 安装最新版本: ``` winget install Microsoft.Edit ``` ### Linux(从源代码构建) 如果您的发行版没有提供二进制文件,或者您想自行构建,可以使用我们的安装脚本,前提是您已经安装了以下内容: * Rust(通过 `rustup` 或类似方式) * C 编译器(例如 `gcc`) * ICU(例如 libicu78、libicu、icu) * curl/wget 和 tar 以下命令将会把 `msedit` 安装到 `~/.local/bin` 中: ``` curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/microsoft/edit/main/assets/install.sh | sh ``` 其他标志包括:`--dev` 用于直接从主分支构建,`--system` 用于安装到 `/usr/local/bin`。例如: ``` curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/microsoft/edit/main/assets/install.sh | sh -s -- --dev --system ``` ## 构建说明 * [安装 Rust](https://www.rust-lang.org/tools/install) * 克隆仓库 * 如果您使用的是 nightly 版本的 Rust: cargo build --release --config .cargo/release.toml * 如果您使用的是 stable 版本的 Rust: * 理想情况下:设置环境变量 `RUSTC_BOOTSTRAP=1` 并使用上述的 **nightly** 构建说明。 推荐此方式,因为它能大幅减小二进制文件体积并略微提升性能。 * 否则,只需运行: cargo build --release ### 构建配置 您可以在构建时设置以下环境变量来配置构建过程: 环境变量 | 描述 --- | --- `EDIT_CFG_ICU*` | 详情请参阅下文的 [ICU 库名称 (SONAME)](#icu-library-name-soname)。建议 Linux 软件包维护者查看并配置这些选项。 `EDIT_CFG_LANGUAGES` | 以逗号分隔的要包含在构建中的语言列表。有关可用语言,请参阅 [i18n/edit.toml](i18n/edit.toml)。 ## 致软件包维护者的说明 ### 软件包命名 规范的名称是 "edit",备用名称是 "msedit"。 我们意识到 "edit" 可能与现有命令发生冲突,因此建议将软件包和可执行文件命名为 "msedit"。 应避免使用类似 "ms-edit" 这样的名称。 如果可能的话,建议设置一个 "edit" 别名。 ### ICU 库名称 (SONAME) 本项目可选地依赖于 ICU 库来实现其搜索和替换功能。 默认情况下,项目将查找以下库名称: 变量 | Windows | macOS | Linux / 其他 ----------|---------|-------|--------------- `EDIT_CFG_ICUUC_SONAME` | `icuuc.dll` | `libicucore.dylib` | `libicuuc.so` `EDIT_CFG_ICUI18N_SONAME` | `icuin.dll` | `libicucore.dylib` | `libicui18n.so` 如果您安装的 ICU 使用了不同的 SONAME,请在构建时设置以下环境变量: * `EDIT_CFG_ICUUC_SONAME`: 例如,`libicuuc.so.76`。 * `EDIT_CFG_ICUI18N_SONAME`: 例如,`libicui18n.so.76`。 此外,本项目假定 ICU 导出的符号不带 `_` 前缀且不带版本后缀,例如 `u_errorName`。 如果您安装的 ICU 使用了带版本号的导出符号,请设置: * `EDIT_CFG_ICU_CPP_EXPORTS`: 如果设置为 `true`,将查找 C++ 符号,例如 `_u_errorName`。 在 macOS 上默认启用。 * `EDIT_CFG_ICU_RENAMING_VERSION`: 如果设置为版本号(例如 `76`),将查找带有版本号的符号,例如 `u_errorName_76`。 最后,您可以设置以下环境变量: * `EDIT_CFG_ICU_RENAMING_AUTO_DETECT`: 如果设置为 `true`,可执行文件将尝试在运行时检测 `EDIT_CFG_ICU_RENAMING_VERSION` 的值。 该检测方式不受 ICU 官方支持,因此不建议依赖此功能。 如果在未设置其他选项的情况下,在 UNIX(不包括 macOS)系统上默认启用此功能。 要测试您的构建设置,请使用 `--ignored` 标志运行 `cargo test`。例如: ``` cargo test -- --ignored ```
标签:Awesome, DNS解析, Linux命令行, MS-DOS编辑器, Rust语言, VS Code风格, WinGet, 可视化界面, 威胁情报, 开发者工具, 开源, 开源项目, 文本编辑器, 现代界面, 系统管理, 终端编辑器, 轻量级应用, 通知系统