Skip to content

Instantly share code, notes, and snippets.

@c-bata
Created July 22, 2015 13:26
Show Gist options
  • Save c-bata/dbe67daf5ad296ea423e to your computer and use it in GitHub Desktop.
Save c-bata/dbe67daf5ad296ea423e to your computer and use it in GitHub Desktop.
Dotinstallのtmux入門レッスンメモ

tmux入門

用語

  • session: いくつかの作業をまとめて行うためのプロジェクトのようなもの

  • window: ブラウザのタブみたいなもの。session起動時は1つできている。

  • pane: windowをさらに画面分割したもの

  • detach: sessionから切り離す

  • attach: 接続し直す

Session

sessionの作成

$ tmux new -s セッション名

Prefix key

tmuxではprefix key(default: Ctrl+b)があって、これをおした後にコマンドで色々操作を出来る。

  • detach: prefix + d (detachのd)
  • セッション名の変更: prefix + $
  • Help: prefix + ? (画面から抜けるにはEsc)
  • Command: prefix + : (ここでdetach-clientとか打てばdetachできる)
  • 時計: prefix + t 蛇足だけど面白い。作業している画面を隠してスクリーンセーバ的に使えたりして意外と便利。

ショートカットキーがOSの操作と被る場合はCommandとか使って対応する。

セッションのアタッチ

セッションの一覧

$ tmux ls

セッションのアタッチ

$ tmux attach -t セッション名  # attachはaと省略可

セッションの削除

$ tmux kill-session -t セッション名  # 1つだけ
$ tmux kill-server                   # 全てのセッション

Window

  • windowの追加: prefix + c 追加すると画面下のsession名の右にある0:bash-とかが増えていく。

  • 隣のwindowに移動: prefix + n (next), prefix + p (previous)

  • windowの移動: prefix + (window id) 画面下にあるそれぞれのwindow idをprefixキーの後に押す

  • window名の変更: prefix + ,

  • windowの一覧: prefix + w カーソル移動&Enterで移動もできる

  • windowの検索: prefix + f

  • windowの終了: prefix + &

Pane

  • 水平方向: prefix + "

  • 垂直方向: prefix + %

  • pane間の移動

    • prefix + o 次々に移動
    • prefix + 矢印 好きな向きに移動
    • prefix + q 各paneの番号の表示。その時に現れた番号を押すとすぐに移動できる。かっこいいしこれだけで十分
  • paneの入れ替え

    • prefix + {: paneを前のやつと入れ替え
    • prefix + }: paneを次のやつと入れ替え
  • paneの削除: prefix + x

  • paneをwindowとして独立: prefix + !

paneの大きさをらくらく変えるために.tmux.confを作る

paneのサイズを変えるのは、MacOSのターミナルを使ってると操作がバッティングしてショートカットだとうまく動かない。 だからコマンドを打つ必要がある ( prefix + : の後に resize-pane -U 5 と入力すると上に5個分大きくなる)

.tmux.conf

このコマンドいちいち打つの面倒だから上下左右への拡大をHJKLに割り当てる。

# ~/.tmux.conf
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

tmuxに接続し直すか、prefix + :source-file .tmux.confで読み込める。 後はprefix + Hとかで動かせる

Prefix keyを動かす

  • Ctrl + b はUNIXの操作でキャレットを左に動かす
  • Ctrl + t の方がtmuxの頭文字で覚えやすい
  • Ctrl + t が必要なときのために、2回押したら普通のCtrl+tを入力したい。
# .tmux.confに追記
set -g prefix C-t  # Ctrl+tに割り当て。 gはglobalのこと
unbind C-b         # Ctrl+bの割り当てを無くす
bind c-t send-prefix  # Ctrl+tを2回押せば普通にCtrl+tが使える

bind r source-file ~/.tmux.conf \; display "Configuration Reloaded!"  # Ctrl+rでsource-fileする

Buffer

Windowやpaneを与えてコピペとか出来るようにする。 まずは .tmux.conf を編集。

# .tmux.conf
setw -g mode-keys vi  # キー操作がviモードになって、ショートカットキーの衝突が起きない
  • コピーモード: prefix + [ viのキーバインドで移動できる。コピーの開始をしたい位置で space をおして適当な所で Enter これでBufferにコピーされる。

  • 貼り付け: prefix + [

複数コピー

コピーはいくつもBufferに保存できる。

  • prefix + : で`list-buffers: コピーの一覧
  • prefix + = 好きなモノを選んでReturnで貼り付けできる.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment