back
1 comments
Thanks for asking!

VIM keybindings means modal editing first and foremost, so:

  - ESC -> whatever that mode is called, where you get to use
    h, j, k, l, and other movement operators, d, c, r, R, I,
    o, O, etc to make edits and enter insert or replace mode,
    y/Y for yanking (copy), p/P for pasting, and so on

  - buffer registers

  - macros

  - : -> ex command mode where you get to enter ex commands
    (e.g., global search and replace, save, switch files,
    quit, and so on)
Of these the first is the most important -- I can do without ex command mode. I can also do w/o vimscript and all of the various features of VIM such as syntax highlighting (which is really not appropriate in a WYSIWYM/WYSIWYG LaTeX document context).

For editing documents with variable-width fonts I don't need ^V (rectangular block selection) for obvious reasons, but visual selection ('v') is still useful.

While in input mode it's nice to have ^D serve to reduce indentation (list depth in this context).

You should also have Emacs keybindings -- again, a subset will do.

ISTM that there are many offerings in this space, and I'll take LyX any day (because it's free and open source and it works), so you need something special to sell into this space, such as:

  - online collaborative editing
  - VIM keybindings
  - Emacs keybindings
  - a powerful DSL for transformations
    (this is why XML doesn't suck for _documents_: XSLT/XPath)
  - ...
Thank you for letting me know! I do not think that keybindings will be the next ting i'm adding.

The app is based on a custom JavaScript editor. I've started the development of this editor three years ago. It mainly took me so long because I've build it with collaborative editing in mind.

Today I would probably use ProseMirror for that, but back then I've decision to build a custom solution.

So collaborative editing is one big topic I've planed to introduce next.