BOX選択 BOX選択を使うと矩形領域の単位で文字列の移動やコピーが可能です。 エディタやワープロでは文字列をマウスまたはキーボードで選択し、それを削除したり、
クリップボードにコピーしたり、クリップボードにある文字列をカーソル位置に貼り付けたりという操作が可能です。
これはとても有用な方法ですが、選択の単位は連続する文字の並びで、画面上の位置とは無関係です。
画面上の位置関係を保ったまま、文字列を削除、ペーストしたい場合もあります。 #define ID_REPLACE 3 #define ID_REPLACEALL 4 #define IDD_ABOUTBOX 100 #define IDS_PROPSHT_CAPTION 102 #define IDD_PROPPAGE1 103 #define IDD_PROPPAGE2 104 #define IDD_PROPPAGE3 105 #define IDD_PROPPAGE4 106 #define IDD_PROPPAGE5 107 #define IDR_POPUP_VIVI_VIEW 108 ..... この中の "ID" ではじまる文字列を以下のように全部抜き出して、 別のファイル(たとえばプログラムのドキュメント)にもって行きたいとしましょう。 ID_REPLACE ID_REPLACEALL IDD_ABOUTBOX IDS_PROPSHT_CAPTION IDD_PROPPAGE1 IDD_PROPPAGE2 IDD_PROPPAGE3 IDD_PROPPAGE4 IDD_PROPPAGE5 IDR_POPUP_VIVI_VIEW ..... それぞれの文字列をひとつずつクリップボードにコピーし、別のファイルにペーストするのは結構面倒です。
追加コピーを使えばすこし楽になるでしょうが、やはり大変です。
UNIXのエキスパートならば ed や正規表現の置換を使うかもしれません。でも、結構大変です。 ■ 選択境界が全角文字の上にある場合BOX選択では直線の矩形で文章を選択する訳ですが、日本語の全角文字は半角文字の倍の幅を持ってるので、 全角文字の位置が上下で揃わないことがあります。 たとえばこんな場合、 X上下で文字が揃わない。 BOX選択の反転表示は全角文字かどうかを考慮しないので、場合によっては全角文字の半分だけが反転される場合が
あります。このような状態で削除、カット、コピーを行った場合、境界線は反転にかかっている文字の左にあると解釈されます。 ┌────┐ │ │ 上下で文字が揃わない。 │ │ └────┘ このような選択状態では、選択境界左側の "文" の部分は境界線画文字の左側にあると解釈されるので、 削除等の対象になりますが、右側の "な" は削除等の対象とはなりません。したがって、 削除を行うと以下のような状態になります。 上下でない。 |