tmuxをインストール

ターミナルマルチプレクサのtmuxを使いたい。そのメモ書き。

tmuxのインストール

$ sudo brew install tmux

言葉の定義

session
一つのsessionは複数のwindowから構成
window
一つのwindowは複数のpaneから構成
pane
一つの作業領域(ターミナル)のこと

設定ファイル

~/.tmux.conf

基本の使い方

プレフィックスキーを押してからコマンドを入力する。
プレフィックスキー、コマンドは設定ファイルで変更可能。

やりたい事 コマンド
現在存在するsession tmux ls
sessionにアタッチ tmux a -t <session name>
最後に作成したsessionにアタッチ tmux a
sessionをデタッチ <prefix> d
sessionを削除 tmux kill-session -t <session name>
最後のsessionを削除 tmux kill-session
ウィンドウ作成 <prefix> c
ウィンドウ名変更 <prefix> ,
ウィンドウ一覧表示 <prefix> w
ウィンドウ(番号1(2,3,…))へ移動 <prefix> 1(2,3,..)
前のウィンドウへ移動 <prefix> p
次のウィンドウへ移動 <prefix> n
最後に操作したウィンドウへ移動 <prefix> l
ウィンドウの強制終了 <prefix> &
paneの横分割 <prefix> “
paneの縦分割 <prefix> %
paneの強制終了 <prefix> x
pane間の移動 <prefix> o
コピーモード <prefix> [
コピーモードの始点 Space
コピーモードの終点 Return
貼り付け <prefix> ]

tmuxのupgrade

tmux 1.7以上でないとtmuximnatorが使えない。正確にはウィンドウが一個しか開かない。参考
バージョン確認すると

$ brew version tmux
tmux 1.6

そこでupgradeする。その前にAppleデフォルトのgitのバージョンが古い。
homebrewのgitに変更する

$ brew install git
$ echo "alias git='/usr/local/bin/git'" >> ~/.bashrc
$ git --version
git version 1.9.1

gitをイニシャライズしていなかったのでhomebrewのupgradeが使えなかった。

$ git init
$ git status
$ brew upgrade tmux

そのままやるとversion 1.9aがインストールされた。

$ tmux -V
tmux 1.9a

これはバグが多いらしい。そこで前のバージョンに戻す。
参考

$ brew remove tmux
$ cd /usr/local/Library/Formula
$ git checkout c356bf7 /usr/local/Library/Formula/tmux.rb
$ brew install tmux

これで安定版。

$ tmux -V
tmux 1.8

tumx 1.8 からはcopy-pipeが導入されていて、viのコマンドのようにコピペ出来るみたい。参考
そこで、tmux.confに以下を追加

# Use vim keybindings in copy mode
setw -g mode-keys vi

# Setup 'v' to begin selection as in Vim
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

# Update default binding of `Enter` to also use copy-pipe
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"

tmuxinatorのインストール

$ gem install tmuxinator

$SHELL, $EDITORが設定されている必要あり

$ echo 'export EDITOR=/usr/bin/vim' >> ~/.bashrc
$ source ~/.bashrc
$ echo $EDITOR
/usr/bin/vim
$ echo $SHELL
/bin/bash

PATHの設定

$ gem which tmuxinator
echo 'PATH=/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/gems/1.9.1/gems/tmuxinator-0.6.7/bin:"$PATH"' >> ~/.bashrc

tmuxinatorのプロジェクト作成

tmuxinatorはtmuxのwindowやpaneのデフォルトを変更するためのソフトruby製。よってgemでインストールする。

$ gem install tmuxinator

パスを通す

echo 'PATH=/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/gems/1.9.1/gems/tmuxinator-0.6.7/bin:"$PATH"'

プロジェクト(デフォルト)の作成

$ mux new projectA

できた~/.tmuxinator/projectA.ymlをいじる。もしくは

$ mux open projectA

tmux全般についての参考文献

  1. http://qiita.com/naoty_k/items/869b00fdde27c2225989
  2. http://d.hatena.ne.jp/akishin999/20121204/1354621657
  3. http://yuzuemon.hatenablog.com/entry/20110204/1296755589
  4. http://d.hatena.ne.jp/sa__i/20120409/1333991003
  5. https://codeiq.jp/magazine/2014/01/5143/
  6. http://room6933.com/mymemo/tmux/tmux-basic.html#id10
  7. レイアウト参考1

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です