行末を半角スペースで揃えるマクロ
SQLファイルの整形とかで行末を揃える事が多く、スペースキーを叩くのも疲れてきたので、マクロ(JScript)を組んでみた。
※サクラエディッタ専用(かな?)
使い方
行末揃えを行いたい行を、全て選択した状態でマクロを実行する。
注意
- 行単位で選択してください。行途中での選択状態だと正しく行末揃えされません。
- 選択はカーソル選択で指定してください。行選択だと正しく行末揃えされません。
function end_of_indent(str){ var out = ''; var str_array = str.split('\r\n'); var max_length = 0; for(var i = 0; i < str_array.length; i++){ if(max_length == 0 || str_array[i].length > max_length){ max_length = str_array[i].length; } } var spacer = ''; for(var i = 0; i < max_length; i++){ spacer = spacer + ' '; } for(var i = 0; i < str_array.length; i++){ out = out + (str_array[i] + spacer).substr(0, max_length); if(i + 1 < str_array.length){ out = out + '\r\n'; } } return out; } Editor.InsText( end_of_indent(Editor.GetSelectedString()) );
追記
マルチバイト文字が対応しきれてないです^^;;