Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/revi-editor/revi

A modal text editor inspired by Vim, Neovim and others like it.
https://github.com/revi-editor/revi

cli editor revi rhai-script rust terminal text-editor tui vim

Last synced: 7 days ago
JSON representation

A modal text editor inspired by Vim, Neovim and others like it.

Awesome Lists containing this project

README

        

ReVi



MAINTAINED
Downloads
crates.io
License



Stars
Forks
watchers
contributors



issues
last commit
repo size Discord Chat
lines



# Table Of Contents:

- [**About**](#about)
- [**Usage**](#usage)
- [**Install**](#cratesio)
- [**Clone && Installing**](#github)
- [**Development**](#development-use)
- [**Q&A**](#questions-and-answers)
- [**KeyBindings**](#keybindings)
- [**Roadmap**](#road-map)
- [**Changelog**](./CHANGELOG.md)

# About

ReVi is a cross-platform terminal based Vim inspired text editor.
Currently ReVi is in heavy development and it's probably not good idea to use for every day use
but I have been using ReVi to work on ReVi to help find bugs. Editor inception 😲!
If you like what you see help the project out with a [github](https://github.com/revi-editor/revi) star.
If you find a bug please feel free to open a issues for it.


Image

# Usage

### **Crates.io**
```sh
cargo install revi --version="0.0.0-beta-2"
revi
```
### **GitHub**
```sh
cargo install --git https://github.com/revi-editor/revi
revi
```

### **Development Use**
```sh
git clone https://github.com/revi-editor/revi
cd revi
cargo run --release --
```

### **Questions and Answers**

- *ReVi is locked up* => Press `Esc` and then do command to clear command chase. WIP.
- *ReVi doesn't even open* => for version's `0.0.0-beta-0.5` and below need to have a `init.lua` file in the directory. FIXED on version `0.0.0-beta-0.6`

# KeyBindings

### **Normal Mode**

|'Key'|*Command*|Note
|:---|:---:|---:
Esc|*NormalMode*|
ZZ|*Save Quit*|
ZQ|*Quit*|
p|*Paste Below Cursor*|
P|*Paste Above Cursor*|
<C-y>|*ScrollUp Cursor Keeps Line Number*|Not working 100% correct
<C-e>|*ScrollDown Cursor Keeps Line Number*|Not working 100% correct
<C-u>|*ScrollUp*|Not working 100% correct
<C-d>|*ScrollDown*|Not working 100% correct
j|*CursorDown*|
Down|*CursorDown*|
k|*CursorUp*|
Up|*CursorUp*|
h|*CursorLeft*|
Left|*CursorLeft*|
l|*CursorRight*|
Right|*CursorRight*|
w|*Move Forwards by a Word*|
b|*Move Backwards by a Word*|
:|*CommandMode*|
i|*InsertMode*|
x|*DeleteChar*|
Delete|*DeleteChar*|
d|*DeleteLine*|
Home|*Home*|
End|*End*|
0|*Home*|
$|*End*|
A|*End InsertMode CursorLeft*|
gg|*JumpToFirstLine*
G|*JumpToLastLine*
u|*Undo*

### **Insert Mode**

|'Key'|*Command*|Note
|:---|:---:|---:
Esc|*Normal*|
Backspace|*Backspace*|
Enter|*NewLine*|
Home|*Home*|
End|*End*|
Down|*CursorDown*|
Up|*CursorUp*|
Left|*CursorLeft*|
Right|*CursorRight*|

### **Command Mode**

|'Key'|*Command*|Note
|:---|:---:|---:
Esc|*Normal*|
Enter|*Normal*|

### **Commands**
*All Commands will change in further versions*
|'Command'|*Action*|Note
|:---|:---:|---:
`q`|*QUIT*|
`quit`|*QUIT*|
`qw`|*SAVE QUIT*|
`exit`|*QUIT*|
`[number]`|*Goto LineNumber*
`e[filename]`|*Opens or Creates a new file and swaps window*|
`b[buffer number]`|*Sets Buffer*|
`set number`|*Sets line numbers to AbsoluteNumber*|
`set relativenumber`|*Sets line numbers to RelativeNumber*|
`set nonumber`|*Removes any line number type*|

# Road Map

### **Added Modes**:
- [X] **Normal**
- [X] **Insert**
- [X] **Command**
- [ ] **Visual**
- [ ] **Visual Line**
- [ ] **Visual Block**

### **KeyBindings**
- [X] **Basic KeyBindings**

### **Plugin Support**
- [ ] **Plugin API**:
- [ ] **Custom KeyBindings**
- [ ] **Help Docs**

### **WebSite**
- [ ] **WebSite**
- [ ] **Package Manager**

### **Other**
- [ ] **Basic Unicode Support**
- [ ] **LSP**