edit README

The project's README from github.com/microsoft/edit. As one markdown file: README.md.

Application Icon for Edit 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.

Screenshot of Edit with the About dialog in the foreground

Installation

Packaging status

You can also download binaries from our Releases page.

Windows

You can install the latest version with WinGet:

winget install Microsoft.Edit

Linux (build from source)

If your distribution does not provide binaries, or if you'd like to build your own, you can use our install script, provided you have installed:

The following command will then install msedit into ~/.local/bin:

curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/microsoft/edit/main/assets/install.sh | sh

Additional flags are --dev, to build directly from the main branch, and --system to install into /usr/local/bin. For instance:

curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/microsoft/edit/main/assets/install.sh | sh -s -- --dev --system

macOS

You can install the latest version with Homebrew:

brew install msedit

Build Instructions

Build Configuration

You 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. Linux package maintainers are advised to review and configure these options.
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 the following library names:

Variable Windows macOS Linux / Other
EDIT_CFG_ICUUC_SONAME icuuc.dll libicucore.dylib libicuuc.so
EDIT_CFG_ICUI18N_SONAME icuin.dll libicucore.dylib libicui18n.so

If your installation uses a different SONAME, please set the following environment variable at build time:

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:

Finally, you can set the following environment variables:

To test your build settings, run cargo test with the --ignored flag. For instance:

cargo test -- --ignored

edit (microsoft/edit)

Searching Database…

14.7K ·GitHub
What is this?Edit is a small terminal text editor from Microsoft for quick, simple jobs — an homage to the classic MS-DOS Editor, rebuilt with a modern interface and input controls similar to VS Code.
Does it live in the terminal or is it a GUI app?It runs in the terminal, but it does not feel like a classic modal terminal editor — the interface and input controls are modeled on VS Code, so it plays like a modern app inside a terminal window.
What does the Linux install script need on the machine first?Rust (via rustup), a C compiler such as gcc, ICU, plus curl/wget and tar. The script then installs msedit into ~/.local/bin, or you can pass --system to target /usr/local/bin or --dev to build from the main branch.
Any naming pitfalls after installing?Yes — the canonical executable name is 'edit', which can collide with existing commands, so packages are advised to ship it as 'msedit' instead (names like 'ms-edit' should be avoided) and optionally alias 'edit' to it.
I barely know terminal editors — is this realistic for me?That is exactly who it is built for: the stated goal is an accessible editor that users largely unfamiliar with terminals can easily use, with familiar VS Code-style input controls instead of arcane key combinations.
Should I build with nightly Rust instead of stable?Yes — the README recommends setting RUSTCBOOTSTRAP=1 and building with nightly, because that drastically reduces the binary size and slightly improves performance. Stable Rust works fine too if you prefer.
Why does the build care about the ICU library?Search and Replace optionally depends on ICU, and distros name its libraries differently, so maintainers can point the build at the right one with variables like EDITCFGICUUCSONAME and EDITCFGICUI18NSONAME.
Can I trim the build down to only some UI languages?Yes — set the EDITCFGLANGUAGES environment variable to a comma-separated list of languages at build time; the available languages are listed in i18n/edit.toml.
What are similar projects?spotify-tui, hexyl, winget-cli, fx, micro, vis, toast, lazygit
Creator
microsoft
Size
2.6 MB
Stars
14.7K
Age
1y
Commits · 90 Days