Just to specifically answer your question, “How can you have VIM”, Vim keybindings (as far as I understand) is only implemented through the Vim keybindings implementation from CodeMirror. And that unfortunately doesn’t have a maintainer.
It isn’t really being developed as a feature of Obsidian, per se.
I did find a post related here; however, it has yet to be updated and does not seem to have much traction, so I am creating a new feature request with the hope of this being the main source.
Use case or problem
With Obsidian being largely first a markdown text editor, it is important to be efficient with inserting, deleting, and writing text; however, using simple arrows and mouse clicks dramatically reduces my workflow and efficiency. Emacs is a well-known and efficient non-modal text editor used by many that comes with its own set of keybindings to enable efficient text modifications.
Obsidian currently supports Vim keybindings for text editing through CodeMirror found here. CodeMirror also supplies an interface for Emacs keybindings found here.
Now, it is understood that Obsidian also uses Ctrl+[…] keybindings natively to navigate the application; however, these are configurable and would be a tradeoff for those looking to use Emacs keybindings as the first-class interface; therefore, a warning can be issued before enabling, etc.
The issue CodeMirror faces is predominantly with the Ctrl+W and Ctrl+N keys (base keybindings of Emacs) due to browsers taking precedence; however, since Obsidian is a standalone application, this should not be an issue, assumingly.
Related feature requests
Again, there is one other feature request available here, but it seems dead; so, I created this one in hopes of gaining some traction.
Another +1 for Emacs keybindings. Two things missing that are definitely hindering use:
One is Emacs ctl-K and ctl-Y (Kill & Yank), essentially “Cut current line & Paste”. In Obsidian, ctl-K correctly deletes the rest of the current line, but does not save the cut text so can be pasted with ctl-Y. In Bear, these two keys work great.
Other is being able to use Ctl-space to “set the Mark”, in order to select a region of text.
Currently I can right click on the note in explorer view and click open in default app which starts Emacs on the .md file. I edit as desired, save, exit, return to Obsidian. Sometimes the pane is updated, sometimes it’s closed. This works fine until I forget that I’m not in Emacs and start opening new notes (C-n) and selecting all the text (C-a) and over writing it as I start typing. Fortunately C-z works.
I’m new to Obsidian; so, if there’s a way to automatically invoke Emacs when editing a note, please let me know.
PS: I’m on Windows, but will migrate to Linux someday.