« カンマの後の改行 前方不一致 | Main | 1対0の関係 »

2015.02.15

テキストの入れ替え

文章を書いていてテキストの前後を入れ替えたくなることがある。特に翻訳をしていると原文と訳文とでは語順が異なるので入れ替えがしばしば出てくる。

前には縦積みになっている2行または3行の入れ替えを紹介したが(こちら)、1つの行の中で前後を入れ替えたいこともある。以下には、カーソル位置を基準にしてその前後でテキストを入れ替えるコマンドを示す。例は秀丸のものであるが、考え方はワードでも同じ。

文末に句読点がある場合とない場合の2つの例を掲げる。

(1)文末に句読点などがあるとき
setcompatiblemode 0x0F;
disabledraw;
//論理行の行末まで選択
//範囲選択開始
beginsel;
//論理行末に移動
golineend2;
//一つ左に移動
left 1;
//切取り
cut;
//論理行の行頭に移動
golinetop2;
//貼付
paste;
endmacro;

(2)文末に句読点などがないとき
setcompatiblemode 0x0F;
disabledraw;
//論理行の行末まで選択
//範囲選択開始
beginsel;
//論理行末に移動
golineend2;
//切取り
cut;
//論理行の行頭に移動
golinetop2;
//貼付
paste;
endmacro;

要はテキストがどのように表示されているかを観察すること。今回はテキストを眺めていて、縦積みだけではなく1行の中での入れ替えもあると気付いたのである。

そのあとはいつもの如く、必要になる動きを細分化して記述する。記述ができればそれをプログラムにするのは簡単になる。

何かを達成したいというとき、大きく見ると同じことでも実際の状況は一つ一つが異なっている。とすればその状況に合わせた手段(道具)も毎回違う。そこで道具は個別にいくつも使い分ける必要が出てくる。またさまざまな道具を組み合わせて使う必要も出てくる。

(ただ行単位の入れ替え、一文の中での入れ替え、文末に句読点のあるなしでの違いなど、個別の状況に合わせた道具が増えてくると、それを必要なときにすぐに使えるように整理することが大切になる。思考や自分の作業手順に合わせながら、指の動きを最小にするようにショートカットキーを割り当てねばならない。)

|

« カンマの後の改行 前方不一致 | Main | 1対0の関係 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/20048/61139926

Listed below are links to weblogs that reference テキストの入れ替え:

« カンマの後の改行 前方不一致 | Main | 1対0の関係 »