秀丸で折り返し文字数を設定するマクロ。一行の文字数を簡単に変更できるのはもちろん、行数計算にも対応しています
《2010年1月 6日》 《カテゴリー:デジタルグッズ》
Windows7への乗り換えをきっかけに、
WZ Editorから秀丸に乗り換えました。
秀丸を使うのは10年ぶりです。
たいていの設定はWZ Editorに似せることができましたが、
いちばん困ったのは折り返し文字数の設定です。
WZ Editorでは文書設定の画面にショートカットキーを割り当て、
キー操作だけで比較的簡単に折り返し文字数を変更できました。
ところが、秀丸では設定画面をキーで呼び出すのが難しく、
折り返し文字数の設定項目にフォーカスを移動するのも大変。
なんとかならないかと調べた結果、
マクロでいけそうな感じです。
たった4行のマクロで解決しました。
$width = input("折り返し文字数を指定してください","80");
if(!result)endmacro;
config "w" + $width;
endmacro;
このマクロを実行するとダイアログボックスが現れ、
折り返し文字数を半角数字で入力してEnterキーを押すと、
一行の文字数を変えられます。
文字数は半角なので、
全角20文字で折り返すには「40」と入力します。
デフォルト値は「80」なので、
何も入力せずに「Enter」を押すと、
一行半角80文字で折り返します。
どうせマクロを作るなら、
もっと作業を自動化させたい。
2つ目のマクロは文中に「20×15」のように文字数を入力すると、
その桁数で折り返すように表示を変更し、
さらに何行目まで書けば行数が合うかを教えてくれるものです。
たとえば、
本文が20字×15行という分量指定があった場合、
秀丸の編集エリアに「20×15」と書き込んでおきます。
この行にカーソルを置いてマクロを実行すると、
折り返しを20文字に変更すると同時に、
現在の行から15行目の行番号を教えてくれます。
(本文がスタートするのは「20×15」の次の次の行です)
写真を見ると何をしているか分かると思います。
「20×15」の行にカーソルを置いてマクロを実行すると…
(カーソル位置は行頭でなくてもかまいません)
折り返しが全角20字になって、
15行目に相当する行番号が「20×15」の後に追加されます。
「19行まで」の部分。
要するに行番号の「19」まで埋めれば注文通りの分量というわけです。
ちなみにこの前に文章を追加してスタート行が変わったときや、
「20×15」の行数が変わったときは、
同じようにマクロを再実行するともとの「19行まで」を消して、
新しい行数を計算してくれます。
今度のマクロはちょっと長いです。
やっつけで作ったので、
もっとスマートにできるかもしれません。
いいアイディアがあればぜひ教えてください。
//
//後ろに余計な情報がついていたら削除する
//
golinetop;
wordright;
wordright;
wordright;
if (code != 0x0D) {
deleteafter;
}
//
//カーソル位置の数字を読み取って折り返し文字数を設定
//
golinetop;
selectword;
copy;
beginclipboardread;
$width = getclipboard;
#width = val($width)*2;
config "w" + str(#width);
//
//行数を計算して文書に挿入する
//
wordright;
wordright;
selectword;
copy;
beginclipboardread;
$line = getclipboard;
#line = val($line);
#line = #line + y + 2;
golineend;
insert "(" + str(#line) + "行まで)";
//
//行頭にカーソルを戻す
//
golinetop;
endmacro;
本当は行番号や背景の色を変えて、
本文量を分かるようにしたかったのですが、
やり方が分かりませんでした。
秀丸エディタ徹底活用ガイド―マクロと正規表現で秀丸をパワーアップ! Ver.5対応 秀和システム 2005-12 売り上げランキング : 245940 Amazonで詳しく見る by G-Tools |
編集者・執筆者のための秀丸エディタ超活用術 翔泳社 2005-09-06 売り上げランキング : 51135 Amazonで詳しく見る by G-Tools |
トラックバック
このエントリーのトラックバックURL:
http://www.center-left.com/cgi-bin/mt5/mt-tb.cgi/1600
コメント
ここの「あや」は誰とでもセクスする悪い子(*´ェ`*) http://i.44m4.net
投稿者 Anonymous : 2012年10月17日 15:09