Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mathall/rim
Aspiring vim-like text editor
https://github.com/mathall/rim
Last synced: about 2 months ago
JSON representation
Aspiring vim-like text editor
- Host: GitHub
- URL: https://github.com/mathall/rim
- Owner: mathall
- License: mpl-2.0
- Created: 2015-01-29T11:36:38.000Z (almost 10 years ago)
- Default Branch: github
- Last Pushed: 2021-01-16T07:50:16.000Z (almost 4 years ago)
- Last Synced: 2024-08-01T03:22:30.562Z (4 months ago)
- Language: Rust
- Size: 493 KB
- Stars: 606
- Watchers: 25
- Forks: 38
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust - mathall/rim - like text editor written in Rust [<img src="https://api.travis-ci.org/mathall/rim.svg?branch=master">](https://travis-ci.org/mathall/rim) (Applications / Text editors)
- awesome-rust - mathall/rim - like text editor. (Applications / Text editors)
- awesome-rust-cn - mathall/rim - 用Rust编写的类似Vim的文本编辑器 (应用程序 Applications / 文本编辑器 Text editors)
- awesome-rust-zh - mathall/rim - 用 Rust 编写的,类似 Vim 的文本编辑器[<img src="https://api.travis-ci.org/mathall/rim.svg?branch=master">](https://travis-ci.org/mathall/rim) (应用 / 文本编辑)
- awesome-rust - mathall/rim - Vim-like text editor. (Applications / Text editors)
- awesome-rust - mathall/rim - like text editor written in Rust [<img src="https://api.travis-ci.org/mathall/rim.svg?branch=master">](https://travis-ci.org/mathall/rim) (应用 Applications / 文本编辑器 Text editors)
- fucking-awesome-rust - mathall/rim - Vim-like text editor. (Applications / Text editors)
- fucking-awesome-rust - mathall/rim - Vim-like text editor. (Applications / Text editors)
- awesome-rust-cn - mathall/rim - like text editor written in Rust [<img src="https://api.travis-ci.org/mathall/rim.svg?branch=master">](https://travis-ci.org/mathall/rim) (应用 / Text editors)
README
# Rim
Rim is an aspiring Vim-like text editor written in Rust.![Screenshot](screenshot.png)
## Current state
Rim is in an early prototype stage. This means that you can load, edit and save files, and hopefully do so relatively comfortably if Vim is what you are used to. In particular some of the simpler commands for insertion and deletion as well as window and buffer navigation has been implemented and bound to the expected key strokes.## Try it out
Simply clone and `cargo run`.
Note: Some key bindings are for testing purposes only, and some may not work exactly as you would expect them to.
Window navigation
- `v/s` - Split focused window
- `c` - Close focused window
- ` h/j/k/l` - Move window focus left/down/up/right
- `n/N` - Move window focus forward/backward in window order (for testing)
- `() y/u` - Resize focused window (for testing)
- `=` - Reset window sizesBuffer navigation
- `h/j/k/l/Arrow keys` - Move caret
- `Home/0` - Move caret to start of line
- `End/$` - Move caret to end of line
- `PageUp/` - Scroll view up by window's length
- `PageDown/` - Scroll view down by window's length
- `` - Scroll view up by half of window's length
- `` - Scroll view down by half of window's length
- `gg` - Go to first line
- `G` - Go to last line
- `Space` in normal mode - move caret forward across line boundaries
- `Backspace` in normal mode - move caret backward across line boundariesInsertion
- `i` - Enter insert mode
- `I` - Enter insert mode at start of line
- `a` - Enter insert mode after caret
- `A` - Enter insert mode at end of line
- `o` - Enter insert mode at a new line under the current line
- `O` - Enter insert mode at a new line above the current line
- `Escape` - Exit insert modeDeletion
- `dd` - Delete line
- `D` - Delete rest of line
- `C` - Delete rest of line and enter insert mode
- `x` - Delete character under the cursor
- `X` - Delete character behind the cursor
- `r` - Replace character under the cursor
- `R` - Replace character on the lineMisc / For testing until a proper command line is implemented
- `F1-F4` - Load some buffers
- `:qa` - Quit
- `:q` - Close window and quit if it's the last one
- `:w` - Write buffer to file