Vim keybinding does not support non-alphabetic languages

Steps to reproduce

I tested with Korean and Japanese, but this issue seems related to all non-alphabetic languages with the extra character formation process described below.

  1. Set input language to English
  2. Press ‘i’ to go to insert mode
  3. Change the input language to Korean
  4. Type ‘ㅁ’, the key in the same position as ‘a’ in the English keyboard (qwerty).
  5. Press Esc to go to command mode (Obsidian has worked fine until now)
  6. Type ‘ㅁ’ again

Expected result

Actual result

Environment

Windows, obsidian v1.1.4


Additional information

related topics

This topic has been discussed several times but has not been solved yet.

A cause of this issue

I want to explain how Korean (as an example) characters are written.

Unlike alphabetic languages, Korean consonants and vowels must be combined to form a single character.

For example, most Koreans have the last name ‘김’ (Kim).

When we type 김, we type ‘ㄱ’ (at the position of R), ‘ㅣ’ (L), and ‘ㅁ’ (A), serially.

As you can see above, the character is underlined, and this means that this character is not completed.

So, if you press backspace when you see , it only deletes ‘ㅁ’ at the bottom, and you’ll still see remaining.

Once the character is formed completely (you can do this by typing the whitespace after the character), you cannot perform the element-wise deletion, but character-wise.

I think this extra process of combining characters before inputting is the cause of this issue due to the following reasons.

  • The Actual result section shows that the newly inserted character in command mode is underlined.
  • Another alphabetic character, such as ñ in Spanish, seems to work fine with vim keybinding, although no command must be mapped to this character.

Hopefully, this helps you to fix this bug…

1 Like

We can’t help you. We don’t make the codemirror integration. You need write your findings in the upstream bug report that is linked in this https://forum.obsidian.md/t/vim-inserting-unwanted-characters-cjk/34561

https://github.com/replit/codemirror-vim/issues/34

1 Like