Vim normal-mode cursor disappears when moving over multi-codepoint emoji

Steps to reproduce

  1. Enable Vim key bindings
  2. Open a note containing a multi-codepoint emoji such as ➡️ Right Arrow Emoji
  3. Place the cursor before the emoji
  4. In vim normal mode move the cursor until it is past the emoji

Did you follow the troubleshooting guide? [Y/N]


Expected result

The cursor moves over the emoji just like non-emoji text.

Actual result

After initially highlighting the emoji character, the cursor disappears on its next move (or next several depending on the number of codepoints) and eventually reappears once it is moved to the subsequent character.


Obsidian version: v1.4.13
Installer version: v1.4.13
Operating system: Darwin Kernel Version 22.6.0: Fri Sep 15 13:39:52 PDT 2023; root:xnu-8796.141.3.700.8~1/RELEASE_X86_64 22.6.0
Login status: logged in
Catalyst license: none
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: none
Snippets enabled: 0
Restricted mode: on


Additional information

Screen Recording 2023-09-22 at 1.19.50 PM

  1. Does it happen in the sandbox vault?
  2. Does it happen in source mode?
  3. Does it happen here ?
  4. Does it happen here ?

I can reproduce the issue for all of them except #3 In that case the cursor still takes two moves to move past the emoji even though it renders as one character, but it never disappears like it does in the other cases.

ok, open an issue upstream: Issues · replit/codemirror-vim · GitHub
and explain them how to repro the issue using their sandbox

Opened the issue Vim normal-mode cursor disappears when moving over multi-codepoint emoji · Issue #143 · replit/codemirror-vim · GitHub