

Show HN: Rim – Aspiring Vim-like text editor written in Rust - mths
https://github.com/mathall/rim/

======
mths
It's been a few months since I first presented my little project here on HN
[1], I hope a new thread is justified after the changes that has been made
since then.

When posting my last thread, you could basically have a buffer loaded and view
it in multiple split windows by moving the caret around.

Since then the following functionality has been added:

* Proper key handling: Commands can be bound to key strokes such as Ctrl-W followed by V, with a timeout between keys.

* Different modes: Basically binds different key-to-command mappings to support say "normal" and "insert" mode.

The two above are arguably one feature, and they combine by binding modes on
different "levels" in the key handling module. Putting this together, you can
have one mode partially overlap key strokes in another, and have the timeout
force keys to be handled by a lower mode.

* Multiple buffers: More than one file can be loaded at a time, and each window will keep state sane for every buffer it has viewed.

* Deletion: Last time there was functionality for inserting text into a buffer but it wasn't "hooked up" for the user, now you can also delete text.. (woo)

* Editing: All this is finally tied together and hooked up so that you can start rim and edit a file. (not by your choosing!) While doing so in the focused window, hopefully scrolls and carets and whatnot is kept sane in the other windows whether they're currently viewing the buffer being edited or not.

All in all, it should hopefully feel a bit like a very primitive Vim.

[1]
[https://news.ycombinator.com/item?id=8965608](https://news.ycombinator.com/item?id=8965608)

