メインコンテンツまでスキップ

Vim mode — 制限事項

テーブルに関するもの​

  • w / b / e の回数指定はセル・行の境界をまたぐと止まります: 5w のように回数を付けても、セルや行の境界をまたいだ時点で残りカウントが無効になります。
  • gj / gk の回数指定は行をまたぐと途中で止まります: 同様に 5gj のような回数指定も、1 つのセルの中で複数の表示行を移動する分には正しく動きますが、行の境界をまたいだりテーブルに出入りした時点で残りカウントが無効になります。
  • 回数付きの $ はテーブルの行をまたぎません: 3$ は、テーブルの外のように数行下の行末まで移動せず、現在のセルの中にとどまります。
  • プレーンテキストからテーブルに入ると、通常は左端のセルに入ります: j / k / gj / gk でテーブルのすぐ上 (または下) のプレーンテキストの行からテーブルに侵入すると、通常はその行の左端のセルに入ります。
    • カーソルが着地する前のライブプレビューのテーブルは文字ごとの位置情報を返すことができないため、何番目のセルに入るべきか判断する材料がありません。左端セルの範囲内で極力カーソル横位置を維持するように努めますが、2 番目以降のセルに入ることはありません。(最大限右に行っても左端セルの末尾になります) テーブルに入る前のカーソル横位置は記憶したまま、その後の上下移動時でもカーソル横位置は維持されます。
    • ただし、$ で行末に移動した状態(行末吸着状態)でテーブルへ侵入する場合は例外で、最も右のセルに入ります。(→ コマンドリファレンス「$」の項目参照)
  • gj / gk でテーブルから抜け出した先がチェックボックス行 (- [ ] ...) の場合、続けて gj / gk すると横位置が実際より左にずれることがあります: チェックボックス行はライブプレビューでは実際の文字数より短いウィジェットとして描画されますが、横位置を記憶・復元する仕組みがこの表示上の短縮を考慮していないため、ずれが生じます。チェックボックス以外にも、同様に短く描画されるウィジェットを含む行では同じ事象が起きる可能性があります。

設定・ほかのプラグインとの関係​

  • 設定トグルを ON にすると、同じキーに自分で設定した内容が上書きされます: これらのキーをすでにカスタマイズしている場合、そのトグルが ON の間はカスタマイズが上書きされます。
  • リーダーキーが Space の間は Space 単体の元の動作が使えなくなります: Table structure または Table navigation を一度でも ON にすると、Space 単体の元の動作 (右に移動) は Obsidian を再起動するまで戻りません。トグルを OFF にしても元の動作は復元されず、ON の時と同様に Space 単体を押しても何も起こりません (空白が入力されることはありません)。リーダーキーを \ にすると影響はありません。詳しくは 設定 を参照してください。
  • Vim のテーブルセル内の挙動を独自に置き換えるプラグインとの併用は想定していません: このプラグインは Obsidian 標準の Vim mode を対象にしています。

このプラグイン以外が原因のもの​

  • IME (日本語入力) がオンの時に Vim のキー入力が誤認識されることがあります: 日本語入力モードが有効な状態では、Vim のモーションキー (主に g、j、k) を 1 回押しただけでも連続入力と誤認識されることがあります。たとえば、g を 1 回押しただけで gg として扱われたり、j / k が 1 行ではなく 2 行分移動したりします。これは Obsidian が内部で使っている Vim エンジン (codemirror-vim) の既知の問題で (issue #178)、このプラグインを完全に無効にした状態の Obsidian 標準の Vim mode でも同じように再現します。回避策: Vim のモーションを使う前に英数入力モードに切り替えてください。