トップ «前の日記(11/12) 最新 次の日記(11/16)» 編集

hossy online - といぼっくす

ゲームの感想日記、たまにIT・プログラミングの話


11/14

_ [文字入力] 秀丸エディタのタブ順を並び替えるマクロ

Twitterで少し話していた、タブの事について。

私はブラウザでもテキストエディタでも、だいたいタブを10個〜20個ほど広げています。タブ数1桁で作業ができる人は、どれだけうまく情報整理をできているんだろうというのと、やること一覧をよく覚えていられるなと思ってしまったり。

Mozilla Firefox のタブ 秀丸のタブ

今の作業が一段落したときに画面を眺めて、その作業前に何をしようとしていたかを思い出したり。これをその都度メモに残すのではなくて、タブを開きっぱなしにするのが楽だと思っている人です。二次キャッシュ。特に時間のかかる grep あたりは残しておきたい。

...ま、たまにうっかり全てのウィンドウを閉じるボタンを誤爆して大変なことになったりもして、いつかは整理しないといけないわけですが(汗)。

さて、そんなことを秀丸エディタで行っている時。ウィンドウが10以下なら確かこのあたりにこれを開いていたとかなんとなく探せるのですが、40個くらいにふくれあがると順番が分からなくなって、一からエクスプローラで辿ってファイルを開き直した方が早かったりします。

それを防ぐために、最近秀丸エディタ向けに、タブ順をファイル名順に整列するマクロを作りました。タブモード限定。

if (tabmode == 1) {
  #i = 0;
  while (#i < tabgrouptotal) {
    #grouptop = gettabhandle(true, #i, 0);
    #j = 0;
    while (#j < tabtotal[#grouptop]) {
      #handle_j = gettabhandle(true, #i, #j);
      #k = 0;
      while (#k < #j) {
        #handle_k = gettabhandle(true, #i, #k);
        $str_j = basename[#handle_j] + "\t" + directory[#handle_j];
        $str_k = basename[#handle_k] + "\t" + directory[#handle_k];
        if ($str_j < $str_k) {
          settaborder #handle_j, #k;
          break;
        }
        #k = #k + 1;
      }
      #j = #j + 1;
    }
    #i = #i + 1;
  }
}

ファイル名が同じ時はフォルダ名で並び替え。それも同じ、例えば新規作成ファイルや grep 結果の場合は並びません。O(n^2)な方法でも、2桁のタブ数ならきっと実用的でしょう...

ついでにもう一つよく使う、作業ファイル名一覧をクリップボードに入れるマクロも。どこかのテキストに最近開いたファイル一覧を残しておくと便利です... ファイルメニューの20個だとすぐ流れます(汗)。こちらはタブモード以外でも使えます。

setclipboard "";
#i = 0;
while (#i < hidemarucount) {
  #handle = hidemaruhandle(#i);
  addclipboard filename2[#handle];
  addclipboard "\x0D\x0A";
  #i = #i + 1;
}

_ [ひとりごと] WEB拍手再開

最近日記のコメントが少ないです。更新が少ないことと、spam対策で書き込みを厳しくしてみた事もあるのかも...

そんなわけで、blogコメントがあればいいかと思って外していた WEB拍手を再開してみました。右の方のメニューにあります。もしよろしければ。