僕のYak Shavingは終わらない

車輪の再発明をやめたらそこには壮大なYakの群れが

Limechatからirssiに乗り換えないつもりだったけど使ってみたらちょっと乗り換えたくなってる

みなさんはどれくらいirssi使ってるんですかね?正直Limechatでもいいと思ってますが、とりあえず比較したいので使ってみます。

以下は初期設定のメモ。

インストール

Mac

Macだと楽ちんですね♪

brew install irssi
Debian

と思ったら他のも楽ですね!

apt-get install irssi
Windows系

バイナリがありました。
http://www.irssi.org/download

Windows users can download it here. (Special thanks to Joshua Dick)

って書いてあるところです。

ダウンロードしたexeを実行して、適当な一時フォルダに展開して下さい。そのあと、解凍した中にあるirssi.cmdを一旦起動すると、

/User/{Your_User_Name}/.irssi

というディレクトリができるので(できなかったら他のirssi*.(cmd|bat)を実行する)、そのフォルダに解凍したものを全部移動して下さい。

irssi.cmdが参照するconfigは同一フォルダ内のconfigですが、/setを実行したときのconfigへの書き込みは.irssi/configというよくわからない仕様になっているのでこのような方法になってます(確認してみるとわかると思います)。

Win版も試してみて下の記事と食い違っている場所があったら教えてください。

設定

いきなり.irssi/configを設定する感じでいいかもです。もし作られてなかったらirssiコマンドを一度実行すればできるはず。

$ irssi
[(status)] /exit #/exitで閉じる

設定ファイルを編集します。デフォだと色々書いてあるので一度それぞれ中身を消してスッキリさせました。

$ vi ~/.irssi/config
servers = (
  {
    address = "irc.hogehoge.com";
    chatnet = "hogehoge";
    port = "6667";
    autoconnect = "yes";
    use_ssl = "yes";
    password = "{YOUR_USERNAME}:{YOUR_PASSWORD}";
  },
);

chatnets = {
};

channels = (
);

<中略:ここに書いてあるのはそのまま放置した>

settings = {
  core = {
    real_name = "{YOUR_REAL_NAME}";
    user_name = "{YOUR_USER_NAME}";
    nick = "{YOUR_NICK_NAME}";
  };
  "fe-text" = { actlist_sort = "refnum"; };
};

// 以下は無視するアクション群
ignores = (
  {
    level = "CRAP SNOTES CTCPS JOINS PARTS QUITS MODES WALLOPS INVITES DCC DCCMSGS CLIENTNOTICES CLIENTCRAP CLIENTERRORS HILIGHTS";
  }
);

で、ここまで書いてコマンドラインでirssiと打てば起動します。

ignoresの設定は以下を参考にしました。
クリスマスにむけて irssi をはじめました - tokuhirom's blog.

操作方法

Meta-1, Meta-2, .. Meta-0 - Jump directly between windows 1-10
Meta-q .. Meta-o - Jump directly between windows 11-19
/WINDOW - Jump to any window with specified number
Ctrl-P, Ctrl-N - Jump to previous / next window

Irssi - The client of the future
ドキュメントより

あとMeta-n, Meata-pでスクロールできます(どこに書いてあったろう)。
これ知らないと死ねますね。

特定ワードをhighlightする

/hilight ワード

でできます。/highlightじゃないんですね。
複数登録可です。

検索する

/LASTLOG ってのがそれに該当するよう

/LASTLOG word
/LASTLOG word 100

などすると、検索で引っかかった結果が一番したにまとめて表示されます。

Pluginを入れる

ソース落としてきて起動しなおせばそのままいけてたりいけてなかったりします。
今回は以下のPluginを入れてみます。

  • adv_windowlist…joinしているChannel一覧を常に表示するようにします。
  • alllogwin…LimeChatのように、すべてのログを一つの場所で見れるようにします

wgetの-Pオプションを使うとファイルの保存場所を指定でき、mkdirもしてくれるので便利です。

wget http://anti.teamidiot.de/static/nei/*/Code/Irssi/adv_windowlist.pl -P ~/.irssi/scripts/autorun
wget https://gist.github.com/mashiro/797095/raw/ee70aac8349d92121d4c85f44b369d487f0aa6a2/alllogwin.pl -P ~/.irssi/scripts/autorun

irssiを再起動するとadv_windowlist.plがチャンネルリストを表示してくれているはず。

alllogwin.plはirssiのコマンドラインに以下のように設定することで使用出来る。

/window new
/window name alllog
/window size 12
/layout save

adv_windowlistの設定は以下

/SET awl_maxlines = "2";
/SET awl_columns = "2";
/SET awl_automode = "sbar";
/SET awl_display_key = $C>$N

Logを残すようにする

irssiのコマンドラインに以下を入力

/SET autolog ON
/SET autolog_path ~/.irssi/irclogs/%Y/$tag/$0.%m-%d.log

これで指定したpathにチャンネルごとのlogが保存されていく。

Themeを変更する

http://www.irssi.org/themes
↑のサイトよりテーマを落としてきて、.irssi/以下に置く

cd .irssi
wget http://www.irssi.org/themefiles/green.theme
wget http://www.irssi.org/themefiles/bork.theme
wget http://www.irssi.org/themefiles/sux.theme

irssiを起動し

/set theme green

とかやると変わります。

一旦そんな感じ