Announcing: pixelvim, vim inspired pixel editor

54 points avatar_10101 7 comments

pixelvim is a pixel editor inspired by the vim text editor, with an emphasis on keyboard interaction. It also aims to be feature-rich, customizable, and extendable via user scripts.

This is my personal project of making a vim-like pixel art editor (not very creative with the name, I know), written in Rust using miniquad.

Repo: https://github.com/bolphen/pixelvim

Try it in the browser: https://bolphen.github.io/pixelvim/ (you can drag-and-drop png, gif, and aseprite files, and save to png and gif; use :set scale/ui=2 to increase the UI if you find them too small)

Notable features

  • vi-style remappable keyboard interaction and a command system, including modifiers (5j for moving 5 pixels down) and chain-able commands (:select/all THEN cut THEN :layer/new/above THEN paste)
  • elaborated "visual" mode for pixel selection (that is undo/redoable)
  • animation "live draw" (see the screencast below: very useful for quickly creating particle effects)
  • rudimentary support for lua user scripts (not available in the browser version)
  • data recovery from swap file in case of crashes

The code is not pretty (a lot of places held up with glue) and there are quite a lot I want to improve as well as new features to add, but I feel that the end product could already be useful for some so I'm releasing it. Overall I wish to translate more vim features that could be useful into pixelvim (for example, insert mode for drawing purely with the keyboard; registers and macros; better documentation), also better UI.

There used to be a similar project rx. This is not a fork, though I did borrow a few things here and there. I'd say right now pixelvim is much more feature complete than rx.

Cheers!

https://i.redd.it/4qigb6m84ije1.gif