2010年 11月 26日


iTerm2 用の Cmd+数字 によるウィンドウ切替えパッチ

Snow Leopard にしたら今まで使っていた iTerm が option キーを正しく meta キーとして認識しなくなってイライラしたので、iTerm2 はどうなのだろうと思い入れてみると、こっちは上手く動いてくれた。なので iTerm2 を移行しつつ、いつも通り Cmd+数字 でタブじゃなくてウィンドウを切替えるパッチを書いた (ターミナルのタブとか使わないし存在価値がわからない)。

trunk の rev378 へのパッチ。もとから Command+Alt+数字で切替えるコードが入ってるけど、Alt を別ハンドリングしてるせいで全く動いてない無駄なコードになっていて意味不明なので、単に判定を変えるだけです。

From 1ef0734ca9ea0295c178c386ee173cb4e14eb6bb Mon Sep 17 00:00:00 2001
From: cho45 <cho45@lowreal.net>
Date: Fri, 26 Nov 2010 12:44:23 +0900
Subject: [PATCH] Use Command+number to switch windows instead of Command+Alt+number

---
 iTermApplication.m |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/iTermApplication.m b/iTermApplication.m
index b9d47f1..89ede9c 100644
--- a/iTermApplication.m
+++ b/iTermApplication.m
@@ -63,8 +63,8 @@
         PTYSession* currentSession = [currentTerminal currentSession];
         NSResponder *responder;
 
-        if (([event modifierFlags] & (NSCommandKeyMask | NSAlternateKeyMask)) == (NSCommandKeyMask | NSAlternateKeyMask)) {
-            // Command-Alt number: Switch to window by number.
+        if (([event modifierFlags] & NSCommandKeyMask) == NSCommandKeyMask) {
+            // Command number: Switch to window by number.
             int digit = [[event charactersIgnoringModifiers] intValue];
             if (digit >= 1 && digit <= 9 && [[iTermController sharedInstance] numberOfTerminals] >= digit) {
                 PseudoTerminal* termWithNumber = [[iTermController sharedInstance] terminalAtIndex:(digit - 1)];
-- 
1.7.1
2010年 11月 25日


スケルトンジェネレータ starter.pl

みなさんそれぞれ作ってる感がありますが、なにかしらのスケルトンをつくってくれるやつを僕も作ってあったりします。

昔 catstarter.pl を書いたときのコードを殆ど流用して汎用化したものです。

  • 実行するとどのスケルトンをつくるかきかれる
    • template ディレクトリ以下から選ぶ
  • 選択するとそのテンプレをもとに置換とかを行ってスケルトンを生成
  • setup.sh というのがあればそれを実行 (git init とかが書いてある)

要は cutagem と同じです。


最近よくつくる .psgi のスケルトンと、pmsetup 的なスケルトンをいまのところ使っています。

ここはAmon2のディレクトリ構造を貼るスレです

lib
├── Amon2
│   ├── Config
│   │   └── Simple.pm
│   ├── Declare.pm
│   ├── Plugin
│   │   ├── LogDispatch.pm
│   │   └── Web
│   │   ├── CSRFDefender.pm
│   │   ├── FillInForm.pm
│   │   ├── FillInFormLite.pm
│   │   ├── HTTPSession.pm
│   │   ├── JSON.pm
│   │   ├── MobileAgent.pm
│   │   ├── MobileCharset.pm
│   │   └── NoCache.pm
│   ├── Trigger.pm
│   ├── Util.pm
│   ├── Web
│   │   ├── Dispatcher
│   │   │   ├── Lite.pm
│   │   │   └── RouterSimple.pm
│   │   ├── Request.pm
│   │   └── Response.pm
│   └── Web.pm
└── Amon2.pm

fuf-script.vim

id:hakobe932 さんが http://d.hatena.ne.jp/hakobe932/20101122/1290441814 というのをやっていて、いいなぁと思ったので fuzzyfinder 版を書いてみました (だいたいコピペですが)。

を autoload/fuf/script.vim らへんにつっこんで

vimrc に

command! Bookmark call fuf#script#launch('', 0, 'B\!>', 'perl', $HOME . '/.vim/bookmarks.pl', 0)
command! Music call fuf#script#launch('', 0, 'iTunes>', 'perl', $HOME . '/.vim/itunes.pl', 1)

とか書くといい感じにいけます。source の形式は hakobe さんのやつと一緒なので、そのまま使えます。

  • 'perl' が入ってる部分にコマンド名、
  • 次に実行するスクリプト名
  • 最後の 0/1 はそのコマンドの結果をキャッシュするかどうか

です。キャッシュはおなじみ FufRenewCache でクリアできます。

2010年 11月 24日


2010年 11月 23日


2010年 11月 22日