« SSDを使い始めて約20日。一日の書き込み量は10GB程度。このペースだと寿命がくるまで20年以上かかりそう | メイン | 「ウンコに学べ!」でウンコの視点から世界を見る »

秀丸で折り返し文字数を設定するマクロ。一行の文字数を簡単に変更できるのはもちろん、行数計算にも対応しています

《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文字で折り返します。

image

どうせマクロを作るなら、
もっと作業を自動化させたい。
2つ目のマクロは文中に「20×15」のように文字数を入力すると、
その桁数で折り返すように表示を変更し、
さらに何行目まで書けば行数が合うかを教えてくれるものです。

たとえば、
本文が20字×15行という分量指定があった場合、
秀丸の編集エリアに「20×15」と書き込んでおきます。
この行にカーソルを置いてマクロを実行すると、
折り返しを20文字に変更すると同時に、
現在の行から15行目の行番号を教えてくれます。
(本文がスタートするのは「20×15」の次の次の行です)

写真を見ると何をしているか分かると思います。
「20×15」の行にカーソルを置いてマクロを実行すると…
(カーソル位置は行頭でなくてもかまいません)

image

折り返しが全角20字になって、
15行目に相当する行番号が「20×15」の後に追加されます。
「19行まで」の部分。
要するに行番号の「19」まで埋めれば注文通りの分量というわけです。

ちなみにこの前に文章を追加してスタート行が変わったときや、
「20×15」の行数が変わったときは、
同じようにマクロを再実行するともとの「19行まで」を消して、
新しい行数を計算してくれます。

image

今度のマクロはちょっと長いです。
やっつけで作ったので、
もっとスマートにできるかもしれません。
いいアイディアがあればぜひ教えてください。

//
//後ろに余計な情報がついていたら削除する
//
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対応 秀丸エディタ徹底活用ガイド―マクロと正規表現で秀丸をパワーアップ! Ver.5対応

秀和システム 2005-12
売り上げランキング : 245940

Amazonで詳しく見る
by G-Tools
編集者・執筆者のための秀丸エディタ超活用術 編集者・執筆者のための秀丸エディタ超活用術

翔泳社 2005-09-06
売り上げランキング : 51135

Amazonで詳しく見る
by G-Tools

投稿者 yasu : 2010年1月 6日 18:37 | このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク はてなブックマーク - 秀丸で折り返し文字数を設定するマクロ。一行の文字数を簡単に変更できるのはもちろん、行数計算にも対応しています

トラックバック

このエントリーのトラックバックURL:
http://www.center-left.com/cgi-bin/mt5/mt-tb.cgi/1600


コメント

ここの「あや」は誰とでもセクスする悪い子(*´ェ`*) http://i.44m4.net

投稿者 Anonymous : 2012年10月17日 15:09




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)