2016年2月9日火曜日

開いているファイルのフォルダを開く※秀丸編

秀丸マクロを使って、現在開いているファイルのフォルダを開くマクロ。

run "explorer.exe /n,/select," + " \"" + filename + "\"";


filenameがフルパスを取得するコマンドで、プログラム実行コマンドのrunでエクスプローラを実行。

これを[Ctrl]+0に当たるマクロ10へ登録。




※maya,Photoshopはこちら


ほかには、ファイル名を挿入するマクロや日付を挿入するマクロがあると便利。


insert basename2;



insert (year+"/"+month+"/"+day);



2016年2月2日火曜日

秀丸エディタ強調表示の覚書

スクリプトだけでなくASCII形式のファイルを読む時は、内容を把握しやすくするために強調表示を使用していますが、メモ帳のように白地に黒文字をモニタで見るとまぶしいので背景は黒に設定しています。


基本の配色

その他(O)>ファイルタイプ別の設定(C)...
    設定の対象(L)
    >デザイン
      場所の一覧(P)
に記載されている順番ではなくカテゴリ別に、使用している(チェックを入れている)項目を中心に。

    普通の文字:FFFFFF
    文字定数:FFFF00

    改行文字:808000
    タブ文字:808000
    EOF:808000

    全角空白:C0C0C0

    コメント:8080C0

    範囲選択:00FF00/800000
    マークした行:FFFF00(B)/800000
    検索文字列の強調:00FF40(B)/800000

    強調表示1:FFFF00(B)
    強調表示2:00FF40(B)
    強調表示3:FF00FF(B)
    強調表示4:FF0000(B)
    強調表示5:FF8000
    強調表示6:5BCAFF
    強調表示7:FF00FF
    強調表示8:FF0000

    行の強調表示1:000000(B)/F49C1C
    行の強調表示2:FFFF00(影)/000080
    行の強調表示3:FFFFFF/008080
    行の強調表示4:FFFFFF/800080

    特に強調表示1:000000(B)/808080
    特に強調表示2:000000(B)/FF0000
    特に強調表示3:000000(B)/00FF00
    特に強調表示4:000000(B)/FFFF00

    その他
    カーソル行:FFFF00「下線モード」
    カーソル行(IME ON時):00FF00



強調表示の使用用途・分類・内容

強調表示1
単語指定で
  • do,whileのような特殊ループ
  • non,nullのような特殊文字列
  • match,gmatchのような文字列コマンド

強調表示2
単語指定で
  • if,else,for,switch,case,defaultのような一般的なフロー制御
  • true,.y(ベクトル型のy要素)のような特殊文字列

強調表示3
正規表現で
  • ~Layoutのようなレイアウト制御のコマンド
単語指定で
  • optionVar,separator,setParentのようなレイアウト系のコマンド
  • .z(ベクトル型のz要素)のような特殊文字列

強調表示4
単語指定で
  • ;,break,continue,returnのような終了を示す単語
  • false,.x(ベクトル型のx要素)のような特殊文字列
  • global宣言

強調表示5
正規表現で
  • $~のような変数

強調表示6
単語指定で
  • window,showindow,windowPrefのようなウィンドウ関係のコマンド
  • 個人的にローカルプロシージャの先頭は_(アンダーバー)を付けるようにしているため、
    _~となる単語を正規表現で指定。

強調表示7
単語指定で
  • int,float,string,vector,matrix(,var)のような変数宣言
正規表現で
    -~のようなコマンドオプション

強調表示8
  • グローバルプロシージャやグローバル変数を指定
    ※これはコーディングルールとか決めていれば正規表現で対応。


行の強調は折りたたみの優先度みたいなのが有ったはずなのだが詳しく検証できていない。
長年使用していて下の順番に落ち着いた経緯があったような・・・
行の強調表示1
    文書ファイル向けに、見出しにする文字(■みたいな記号)を正規表現で指定

行の強調表示2
    MELではprocを単語指定で

行の強調表示3
    バッチファイルのラベル用に行頭コロンだったらを正規表現で指定

行の強調表示4
    グローバルプロシージャ宣言。行頭globalを正規表現で指定。
    javascriptなら行頭functionとか?


さらに特定の単語をピックアップして、特に強調表示にしています。
特に強調表示1
    特に使っていない

特に強調表示2
単語指定で
    error,warning,delete,deleteUI,catchのような危険性のあるもの

特に強調表示3
    flameLayoutとformLayoutのつづりが似ているので、
    認識しやすいようにformLayoutを単語指定で

特に強調表示4
単語指定で
    print,confirmDialog,alertのような出力系コマンド。


開くファイルによって、特定の単語を追加したり減らしたりしていきます。
で、上のような強調表示を設定しておくことで.melファイルを秀丸で開くとこうなります。

余りカラフルにしすぎると見ているだけで疲れるのでホドホドに。