ObsidianのVimモードを使い始めてから、ずっとモヤっとする問題がありました。

ノーマルモードからiで文字入力を始めようとすると、なぜかUndoが暴発してしまう。

昨日の夕方、分解してみました。

親指シフトのソフトはLacailleを使っています。このソフト、入力されたキーをローマ字に変換して処理しているみたいです。iは親指シフトで「く」に対応していて、ローマ字だとku。ObsidianがVimのノーマルモードでIMEがオンのとき、Lacailleがikuに変換して送り込んでくる。そこに含まれるuがVimのUndoとして解釈される。原因はこれでした。

なるほど、ならInsertモードに入るキーを変えればいいだけだ、と思いました。

iがダメならoはどうか。「つ」なのでtuuが入ってる。ダメ。

aはどうか。「う」なのでu。一番ダメじゃん。

Vimのノーマルモードからインサートモードに入る主なキーがioaの3つで、全部uを含んでいます。詰みました。

その後、nmap ku <Esc>にしたら何か変わるかと思って試してみたんですが、うまくいきませんでした。プラグインで解決できないか調べてみたけれど、今のところ解決策は見つかっていません。

親指シフトとVim、相性が最悪でした。