Handling Unicode #10

他のモーションも修正する。

  • [cci]|[/cci] このコマンドは、与えられたカウントを桁数とみなしてカーソルをそこへ移動させる。従来はカウンタを単純に UTF-16 シーケンスのインデックスとして使用していたが、charWidth 変数(文字の平均幅をピクセル単位で表す)×カウンタの位置に最も近い書記素クラスタのインデックスを算出するようにした。
  • [cci]ga[/cci] このコマンドは、カーソル位置の文字のコードポイントを表示する。書記素クラスタ全体を対象とするように修正。
  • [cci]x/X[/cci] このコマンドは、カーソル位置の前方、あるいは後方に向かってカウント分文字を削除する。これを書記素クラスタ単位で削除するように修正。ただ、後方削除が実際にどういった削除を行うかは方法が 2 通り考えられる:
    • 一度に書記素クラスタ全体を削除する – vim など
    • 基底文字、結合文字単位で削除する – Chrome や Firefox の textarea など

    とりあえず vim に合わせてみる。

その他、モーション以外に編集コマンド、bound モード、line_input モードが残っている。なかなか先は長い。

Leave a Reply

Your email address will not be published. Required fields are marked *