>>620
サロゲートペアを無視するなら(2文字あつかい)
Document.Selection.StartOfLine(false,mePosLogical);
Document.Selection.EndOfLine(true,mePosLogical);
Document.Selection.Text = Document.Selection.Text.slice(0,-5);

サロゲートペアを考慮&複数行可にするなら
Document.Selection.SelectLine(true);
Document.Selection.Text = Document.Selection.Text.replace(/(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\n]){1,5}$/gm,"");

>>622
縦書きのキャレットをMサイズの細ビームの横倒しに決め打ちしてたり
行番号部分でマウスカーソルを左右反転させたりは
Meryが独自にやっていることだと思うよ

質問の詳細を後出しするのはスレが荒れるのでやめたほうがいい