LoginSignup
35
35

More than 5 years have passed since last update.

1分で実現できるtmuxのTips x3 (ついでにinstall to Mac,CentOS,Debian/Ubuntu)

Last updated at Posted at 2013-12-01

日頃お世話になっているtmux。

インストールしたままの状態でもそれなりに使いやすい状態なのですが、
個人的に最初に導入すると便利なTips x3を紹介させていただきます。
Tips1つにつき1分で実現できる..はず!

Mac/CentOS/Debian/Ubuntuでのインストール方法は記事の末尾に記載。

今回紹介するTips用のconfとスクリプトはこちら
https://github.com/nntsugu/99.etc/tree/master/dot_files/tmux

0.Tips紹介の前に

もいちど書きますが、Mac/CentOS/Debian/Ubuntuでのインストール方法は記事の末尾に記載しています。
以前書いたtmux紹介スライドはこちら
http://www.slideshare.net/nntsugu/tmux-13463284


全てのコマンドはtmuxを起動してからのTipsです。

$ tmux

でtmuxが起動できます。


文中の "prefix" と書かれている箇所は、
tmuxのコマンドを入力する際のおまじないです。

  • デフォルトだと Ctrl + b
  • 私の.tmux.confだと Ctrl + z
prefix + c


Ctrl + b (or Ctrl +z)
を押してから
c
を押すことを指します。

1.new-window + sshをお手軽に

新しいwindowを作り、sshをする場合

$ prefix + c
$ ssh {target host}

と2手間かかるところを1手間にします。

.tmux.conf
#new-window + ssh
unbind-key s
bind-key s command-prompt "new-window -n %1 'ssh -t %1'"

.tmux.confに上記を追記し

$ prefix + s

すると表示されるバーにssh対象ホストを入力すればOK

Screen Shot 2013-12-01 at 8.47.40 PM.png

もしくは、下記のようにコマンドをscriptにしちゃいます。

sssh
#!/usr/bin/env bash
tmux new-window -n $@ "exec ssh $@"

上記をssshというファイル名で保存してpathを通し、ssshコマンドとして使用しています。
参考:https://github.com/nntsugu/99.etc/blob/master/dot_files/tmux/bin/sssh

スクリプト一例
# sssh を ~/bin/sssh に保存し、PATHを通す
$ export PATH=$PATH:~/bin
使い方例1
# ec2.ubuntu という名前でwindowを作りつつ、ec2.ubuntuにssh接続する
$ sssh ec2.ubuntu
使い方例2
# 複数のホストにまとめて new-window + ssh (bashの場合)
$ for h in targethost1 targethost2 targethost3 ; do sssh ${h} ;done
# ホストリストをcatして接続する事も出来ます。
$ for h in `cat hostlist` ; do sssh ${h} ;done
#hostlistの中身
targethost1
targethost2
targethost3

2.windowの移動をカーソル(⬅➡)で

デフォルトのwindow移動は

# 次のwindow
$ prefix + n
# 前のwindow
$ prefix + p

これをカーソルの左右(⬅➡)で出来るようにします

.tmux.conf
# cursor
bind -n Right next-window
bind -n Left previous-window

3.status-barの色を見やすく変更

デフォルトだと緑背景に黒字のwindow名。
今いるwindowがわかりにくいので変更してしまいます。

before

Screen Shot 2013-12-01 at 8.11.10 PM.png

after

Screen Shot 2013-12-01 at 9.30.30 PM.png

今いるwindowが赤背景になっています。

インストール

Mac

とても簡単。

$ brew install tmux

これだけでOK

CentOS

yumのrpmforgeリポジトリを登録し、

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
vim /etc/yum.repos.d/rpmforge.repo
# enabled=0にする

yum install するだけ

yum install --enablerepo=rpmforge tmux

参考: http://qiita.com/tt_yamaguchi/items/682940d558e4a5022898

Debian/Ubuntu

最近のバージョンであればデフォルトでインストールされていますが、バージョンが1.6と古いです。
1.8をインストールする方法を紹介します。

正しい情報をiwaim@githubさんから教えていただきました。ありがとうございます!

iwaim@githubさんのコメント (http://qiita.com/nntsugu@github/items/107cbd6cd6db2aa46172#comment-ce843c266b73f11cd606) より引用。

Ubuntuの方はPPAリポジトリで良いと思います。ppa:pi-rho/devはUbuntuのいくつかのバージョンを想定したパッケージが用意されているっぽいですし。

つまり、
Ubuntu: ppa:pi-rho/dev
Debian: Debian Backports
でいいのかなー、と。

Ubuntuの場合

PPA リポジトリを登録し、apt-get でインストールするだけでOK。

$ sudo add-apt-repository ppa:pi-rho/dev
$ sudo apt-get update
$ sudo apt-get install tmux

Debianの場合

iwaim@githubさんのコメント (http://qiita.com/nntsugu@github/items/107cbd6cd6db2aa46172#comment-d7056d556aae79608038) より引用。

DebianはDebian Backportsが王道ですね。

http://packages.debian.org/ja/wheezy-backports/tmux
http://qiita.com/wozozo/items/d281a1101544dcc2d37d

昔、社内向けに書いた資料

tmux
http://www.slideshare.net/nntsugu/tmux-13463284

35
35
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
35