I want to create a WYSIWYG editor for markdown, and I want it to be keyboard-driven with vim editing philosophy.

I want the editor to have rich formatting, rather than the equally spaced cells of characters in the terminal. This would enable rows having different text sizes, usage of non-monospaced fonts, editing RTL languages such as arabic or hebrew, and bypass other terminal limitations.

Embedding neovim would be nice in theory, enabling all compatible vim features. But it seems to come with great difficulties, since I am forgoing the entire rendering philosophy that neovim depends on (equally spaced cells of the terminal).

SO I am thinking it would be better to emulate the vim features I want, starting with basic keybindings and motions, and go from there. But I am worried that I might end up regret this choice? It seems that embedding neovim is too monumental of a task for what I want to do. Am I mistaken?

  • matcha_addictOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    I have not found any that match the criteria I mentioned.

    Just to summarize it better, I want something that has:

    • vim-like philosophy of editing, with keybindings, motions and the like
    • does not struggle with supporting RTL languages like Arabic (the terminal world struggles with that unfortunately)
    • allows rich formatting, such as using non-monospaced fonts, and having the possibility to make different rows of text have different sizes (such as headings being bigger)

    tbh if I can find something with only the first two, I can sacrifice the third one. But I still can’t find anything like that.