https://github.com/lucasjinreal/m
m editor is a modern, easy to use, fast terminal editor then vim or emacs. written in pure Rust.
https://github.com/lucasjinreal/m
editor emacs terminal vim
Last synced: about 1 year ago
JSON representation
m editor is a modern, easy to use, fast terminal editor then vim or emacs. written in pure Rust.
- Host: GitHub
- URL: https://github.com/lucasjinreal/m
- Owner: lucasjinreal
- License: mit
- Created: 2019-07-02T15:07:15.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-03T02:25:03.000Z (almost 7 years ago)
- Last Synced: 2025-03-22T19:45:59.395Z (over 1 year ago)
- Topics: editor, emacs, terminal, vim
- Language: Rust
- Homepage:
- Size: 33.2 KB
- Stars: 10
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# m editor

**m** editor written in **rust**, it's *modern and fast*. *m* means minimal and modern, vims or emacs are just too old and hard to use. Think about how many time wasted when you try to save a file need permissions of sudo.
So here we re-written a text editor in pure *rust* and designed a pretty new and modern editor which can be cross platform. Our dreaming eidtor is a weapon, so it must be simply and straight forward to use.
Below is the final design of our brand new *m editor*:
- `ctrl + s` to save;
- `ctrl + q` to quit (save and quit);
- `ctrl + o` to force quit without save;
- `ctrl + b` jump curse to begin (like terminal);
- `ctrl + e` jump curse to end;
- `ctrl + d` copy current line to next;
- `ctrl + k` delete current line;
- `ctrl + c` copy select content;
- `ctrl + v` paste copied content;
- `ctrl + z` undo the last operation;
Above shortcuts were already implemented in **m**! Just start and check it out, you can easily do your modification on *m*!
**note**:
This README is edit with m, and it's very comfortable than vim!! I am really welcome rustians send me PR if you are interested in build a self-defined editor! Do u support our brand new design of *m*? 😆 it should save lots of time in this way!! And very much intuitive.
## Install
You should install rust and cargo, so that it can be built like this:
```
cargo build --release
```
if you got some error of `#![feature] may not be used on stable channel`, you can simply do this:
```
rustup override set nightly
```
apt-get and brew install will coming soon...
## Todo
We continues make function fully support of *m*, also make it easy to install from `apt-get` or `brew`. We will have those function does not support yet, if you interested, welcome to PR!
- [ ] `ctrl + a` select all;
- [ ] fix some bug;
- [ ] using shift and arrow key to select text;
- [ ] maybe merges more function to m;
- [ ] new create file when filename does not exist;
- [ ] Adding hightlights to certain content such as codes and markdowns.
again, if you want learn rust and like to written a terminal editor with yourself defined shortcuts, you can start **m** and fork it!!
## Copyright
this work is original done by: `gchp`, I just did some modifications and fit to modern editors.