tmux触ってみた

  • このエントリーをはてなブックマークに追加

tmuxとは

仮想端末とは

Macでいう端末とかitermの黒い画面のこと

tmuxとは

複数の仮想端末を一つの仮想端末で管理できるソフトウエア。仮想端末を切り替えたり削除したり作成したり、キー入力で簡単に実現できる

赤枠が一つ一つの仮想端末

tmux のメリット

  • 一つの画面で仮想端末を便利に扱える
  • 例えば踏み台サーバにtmuxを入れてそのサーバに接続してtmuxで作業している場合、踏み台サーバへのssh接続が切れてもシェルはそのまま残っていて、後から作業が再開できる
  • なんかかっこいい

インストール

  • centos
  • yum install tmux –enablerepo=epel
  • デフォルトだと1.6なので新しいやつを入れた方が良いかも。
  • Mac
  • homebrew で簡単にインストールできる

tmux設定ファイル

最初は人のものを見てある程度何がどういう設定なのかを把握して試してみて、それから自分オリジナルに作り込んでいくと良いかも

達人に学ぶ.tmux.confの基本設定 より下

# prefixキーをC-aに変更する
set -g prefix C-a

# C-bのキーバインドを解除する
unbind C-b

# キーストロークのディレイを減らす
set -sg escape-time 1

# ウィンドウのインデックスを1から始める
set -g base-index 1

# ペインのインデックスを1から始める
setw -g pane-base-index 1

# 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"

# C-a*2でtmux内のプログラムにC-aを送る
bind C-a send-prefix

# | でペインを縦に分割する
bind | split-window -h

# - でペインを横に分割する
bind - split-window -v

# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+

# Vimのキーバインドでペインをリサイズする
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

# マウス操作を有効にする
setw -g mouse on

# 256色端末を使用する
set -g default-terminal "screen-256color"

# ステータスバーの色を設定する
set -g status-fg white
set -g status-bg black

# ウィンドウリストの色を設定する
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
# アクティブなウィンドウを目立たせる
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

# ペインボーダーの色を設定する
set -g pane-border-fg green
set -g pane-border-bg black
# アクティブなペインを目立たせる
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow

# コマンドラインの色を設定する
set -g message-fg white
set -g message-bg black
set -g message-attr bright

# ステータスバーを設定する
## 左パネルを設定する
set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
## 右パネルを設定する
set -g status-right "#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 60
## ウィンドウリストの位置を中心寄せにする
set -g status-justify centre
## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on
## ステータスバーを上部に表示する
set -g status-position top

# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## クリップボード共有を有効にする
set-option -g default-command "reattach-to-user-namespace -l zsh"
## コピーモードの操作をvi風に設定する
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
%d人のブロガーが「いいね」をつけました。