k2nr / ViChrome

vi like key binds for Google Chrome
231 stars 40 forks source link

[Feature] キャレットモード(モドキ)の追加 #63

Open u338steven opened 10 years ago

u338steven commented 10 years ago

キャレットモード(モドキ)と、 キャレットヒントモードを追加しました。 モドキの理由は補足にて後述します。

機能概要

  1. キャレットモード(モドキ) キャレットを表示し、操作できるモードです。 キーバインドは、キャレットなので imap 依存にしています。
  2. キャレットヒントモード caret-hint.js のようにヒントの箇所にキャレットを移動するモードです。

    使い方

ExtFMode から、c 押下でキャレットヒントモードに遷移できます。 コマンド :GoExtFMode --caret でも遷移可能です。 ヒント選択後に、キャレットモード(モドキ)へ遷移します。 Escape でキャレットモードが終了します。

コマンド :GoCaretMode でも一応キャレットモード(モドキ)に遷移できます。 この場合、ドキュメントの先頭にキャレットが表示されます。

補足

  1. モドキの理由 document.body.contentEditabletrue にして、ドキュメント全体を編集可能にすることで キャレットを無理矢理表示させているためです。 ドキュメントが編集できてしまうという問題があります。 が、Chrome 自体にキャレットブラウズモードがないので、 こうする以外にキャレットを使う方法が見当たりません……
  2. document.body.spellcheckfalse にしている理由 ドキュメント全体を編集可能にした時点で、ドキュメント全体にスペルチェックが走ってしまい、 赤線が表示されてしまうためです。 それを回避するために、いったん false にして キャレットモード終了時に元の状態に戻しています。