いろいろバタバタっとして、コードリーディングしたり mysql コマンドやら hive コマンドやら叩いたり、初セルフ定時外チョメチョメしたりした。
やはり tmux が必要だなあ。1年前に prefix key を C-b から何に変えるかで迷って早1年。
C-t 派というコメントとC-a 派、C-q 派というコメントをもらっていてちょっと迷うところ。
tmux、まず prefix key を C-b から何に変えるかで1週間かかりそう。
— Naney (@Naney) January 30, 2013
ターミナルでの作業の内容をファイルに書き出しておきたいことがある。特に SSH で入ったリモートホスト上での作業内容を手間をかけずにローカルホスト上にもってきたいことがよくある。
tmux だと pipe-pane コマンドを使うと各ペインでの作業をパイプでコマンドに送っておけると教えてもらったので設定してみた。
cat でもいいのだけれど自分は日付別に保存したいので以下のようなシェルスクリプトを ~/.dotfiles/bin/log-tmux として作る。
#!/bin/sh DATE=`date "+%Y-%m-%d"` LOG_DIR=$HOME/var/tmux/log/$DATE LOG_FILE=$LOG_DIR/tmux-$DATE-$1.log mkdir -p $LOG_DIR tmux display-message "Started logging to $LOG_FILE" cat >> $LOG_FILE
~/.tmux.conf に以下を追加。
# # logging # # C-t C-p (toggle) bind-key C-p pipe-pane -o '$HOME/.dotfiles/bin/log-tmux "#S-#I:#W-#P"'
これで prefix*1 + C-p をタイプすると
~/var/tmux/log/2014-04-04/tmux-2014-04-0-0:bash-0.log
みたいな感じでファイルが作られてそこに pane に出力された内容が書き出されはじめる。もういちど prefix + C-p すると停止。複数のペインで同時に別のファイルにロギングしておける(それぞれで prefix + C-p をタイプして開始させておく)。
ちなみに #S とかは以下。
保存されたファイルにはエスケープシーケンスなども含まれるので見る時は less -R や lv -c あたりを使うとみやすい。
*1自分は C-t
PuTTY のタイトルバーの設定をする方法としてシェル上で printf 使うとかあるけれど tmux 起動していると反映されない。
と思ったら .tmux.conf で
set-option -g set-titles on
しておくだけでよかった。
これで複数 PuTTY を開いている時に Windows のタスクバー上でセッション名で区別できるようになって楽になった。
「(自前の) Markdown ビューアじゃなくて Wiki に……」って言われた。もっとも。できるだけオープンに情報共有された方がハッピーだと常々思っているので、ちょっと耳が痛い。
なぜ Wiki じゃなくて howm + Markdown ビューアなのかの言い訳。 うーん Wiki といいつつ、もはや(ハワイ語的) WikiWiki じゃないからかな。
整理してストックしておくものはきちんと Wiki に書き直すのがもちろんいいんだけれどね……。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。