Edit
We all edit.
Install / Use
/learn @microsoft/EditREADME
Edit
A simple editor for simple needs.
This editor pays homage to the classic MS-DOS Editor, but with a modern interface and input controls similar to VS Code. The goal is to provide an accessible editor that even users largely unfamiliar with terminals can easily use.

Installation
You can also download binaries from our Releases page.
Windows
You can install the latest version with WinGet:
winget install Microsoft.Edit
Build Instructions
- Install Rust
- Clone the repository
- If you're using nightly Rust:
cargo build --release --config .cargo/release.toml - If you're using stable Rust:
- Ideally: Set the environment variable
RUSTC_BOOTSTRAP=1and use the nightly build instructions above. This is recommended, because it drastically reduces the binary size and slightly improves performance. - Otherwise, simply run:
cargo build --release
- Ideally: Set the environment variable
Build Configuration
Uou can set the following environment variables at build-time to configure the build:
Environment variable | Description
--- | ---
EDIT_CFG_ICU* | See ICU library name (SONAME) below for details. This option is particularly important on Linux.
EDIT_CFG_LANGUAGES | A comma-separated list of languages to include in the build. See i18n/edit.toml for available languages.
Notes to Package Maintainers
Package Naming
The canonical executable name is "edit" and the alternative name is "msedit". We're aware of the potential conflict of "edit" with existing commands and recommend alternatively naming packages and executables "msedit". Names such as "ms-edit" should be avoided. Assigning an "edit" alias is recommended, if possible.
ICU library name (SONAME)
This project optionally depends on the ICU library for its Search and Replace functionality.
By default, the project will look for a SONAME without version suffix:
- Windows:
icuuc.dll - macOS:
libicuuc.dylib - UNIX, and other OS:
libicuuc.so
If your installation uses a different SONAME, please set the following environment variable at build time:
EDIT_CFG_ICUUC_SONAME: For instance,libicuuc.so.76.EDIT_CFG_ICUI18N_SONAME: For instance,libicui18n.so.76.
Additionally, this project assumes that the ICU exports symbols without _ prefix and without version suffix, such as u_errorName.
If your installation uses versioned exports, please set:
EDIT_CFG_ICU_CPP_EXPORTS: If set totrue, it'll look for C++ symbols such as_u_errorName. Enabled by default on macOS.EDIT_CFG_ICU_RENAMING_VERSION: If set to a version number, such as76, it'll look for symbols such asu_errorName_76.
Finally, you can set the following environment variables:
EDIT_CFG_ICU_RENAMING_AUTO_DETECT: If set totrue, the executable will try to detect theEDIT_CFG_ICU_RENAMING_VERSIONvalue at runtime. The way it does this is not officially supported by ICU and as such is not recommended to be relied upon. Enabled by default on UNIX (excluding macOS) if no other options are set.
To test your build settings, run cargo test with the --ignored flag. For instance:
cargo test -- --ignored
Related Skills
himalaya
343.3kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
coding-agent
343.3kDelegate coding tasks to Codex, Claude Code, or Pi agents via background process
