|
inselectやrangeeditin;はいずれも行単位となるようになっていて、文字単位に
することはできないです。
検索/置換ダイアログで「選択した範囲のみ」をONにしたときや、[表示]→[部分
編集]をしたときと同様です。
最近の機能として、検索/置換ダイアログの「追加の条件」の中に「指定の範囲/
指定のカラーマーカー」があります。
これを使うと文字単位にすることができます。
V8.66以降では正規表現で不十分だった部分にも対応していて、もし古い場合は
V8.66以降にされるこをお勧めします。
これを使ったマクロの例は以下のようになります。
setcompatiblemode 0x20000;//検索文字列自動復元
disabledraw;
$layer="mylayer";//作業用カラーマーカー名
deletecolormarkerall $layer;//カラーマーカー消去
colormarker 0xff,0xffffff,0,0,0,$layer;//範囲をカラーマーカーに
$targetprev = targetcolormarker;//退避
settargetcolormarker $layer;//カラーマーカーを検索対象
replaceallfast "\u0041", "\U0001D400", casesense,incolormarker;
replaceallfast "\u0042", "\U0001D401", casesense,incolormarker;
replaceallfast "\u0043", "\U0001D402", casesense,incolormarker;
replaceallfast "\u00E4", "\u00C4", casesense,incolormarker;
settargetcolormarker $targetprev;//退避を復元
deletecolormarkerall $layer;//カラーマーカー消去
endmacro;
|
|