Ergonomics: Better cursor movement in Obsidian, with hotkeys

I (and at least one other) have been looking for a better movement option in Obsidian than the arrow keys.

There’s vim-mode, which is great, but an option for user-defined hotkeys for common movement patterns like

  • forward (char, word, end of line)
  • back (char, word, end of line)
  • down line, end of page
  • up line, beginning of page
  • avy-like jumping

I’ll write this plugin if no one beats me to it, but I’d like to know if there’s a reason it hasn’t already been done.

I noticed this post about vim commands from a hacky vimrc file, which I’d probably do something similar to.

3 Likes

The hotkeys for those kind of basic cursor movement are inherited from codemirror and are not redefined by Obsidian. They are crafted to follow OS-level standard behavior that most users expect. If you wanna write a plugin to make them customizable, you are welcome to do so.

Start here:
https://codemirror.net/6/docs/ref/#commands

2 Likes

Note that the link you posted to the Vim commands points to an extremely old hack that dates before Obsidian had a plugin API. Nowadays there is the actual Vimrc Support plugin which can set permanent keybindings for everything you mentioned, with the exception of avy-like jumping.

1 Like

Any luck with this?

Maybe the Editor component could be extended to add commands for cursor movement, which would then call the CodeMirror api?

https://codemirror.net/docs/ref/#commands.standardKeymap

Or make a plugin like this one - ie register new commands for cursor movement? hotkeysplus-obsidian/main.ts at master · argenos/hotkeysplus-obsidian · GitHub

1 Like