ObsidianのVimモードを使い始めてから、ずっとモヤっとする問題がありました。
ノーマルモードからiで文字入力を始めようとすると、なぜかUndoが暴発してしまう。
昨日の夕方、分解してみました。
親指シフトのソフトはLacailleを使っています。このソフト、入力されたキーをローマ字に変換して処理しているみたいです。iは親指シフトで「く」に対応していて、ローマ字だとku。ObsidianがVimのノーマルモードでIMEがオンのとき、Lacailleがiをkuに変換して送り込んでくる。そこに含まれるuがVimのUndoとして解釈される。原因はこれでした。
なるほど、ならInsertモードに入るキーを変えればいいだけだ、と思いました。
iがダメならoはどうか。「つ」なのでtu。uが入ってる。ダメ。
aはどうか。「う」なのでu。一番ダメじゃん。
Vimのノーマルモードからインサートモードに入る主なキーがi、o、aの3つで、全部uを含んでいます。詰みました。
その後、nmap ku <Esc>にしたら何か変わるかと思って試してみたんですが、うまくいきませんでした。プラグインで解決できないか調べてみたけれど、今のところ解決策は見つかっていません。
親指シフトとVim、相性が最悪でした。