Benefit Web Development&Designのブログ -5ページ目

Benefit Web Development&Designのブログ

ホームページ制作 ECサイト CMS構築を扱っていますベネフィットのブログです。ホームページ制作やリニューアルはもちろん、スマートフォンサイト制作やレスポンシブデザインのサイト制作などを提供しています。

こんにちは!

リリース作業や、APIでサーバー間でやりとりしているコンテンツの調査のとき、ターミナルを複数立ち上げてssh接続するのってすごく面倒ですよね...

ウィンドウ内がターミナルでいっぱいになって、間違って違うサーバーでコマンドたたいてしまったり...

今日はそんな、面倒な作業を見やすく、効率化できるツール「Tmux」について


1. tmuxのインストール

インストールはyumで簡単
yum install tmux

2. 設定ファイルの作成
vim .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 mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window 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]"
## ステータスバーのUTF-8サポートを有効にする
set -g status-utf8 on
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 60
## ウィンドウリストの位置を中心寄せにする
set -g status-justify centre
## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on

# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## コピーモードの操作をvi風に設定する
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"

自分はこの設定で慣れました。

3. 設定ファイル反映されない場合

※tmuxは一度「 tmux 」で起動した後に、設定ファイルを編集してもバックグランドでプロセスが動いているときがあるので、設定ファイルがうまくリロードされない場合がありますのでその際はプロセスをkillしてからtmuxを立ち上げてください

#ps ax | grep tmux
kill -9 プロセスNo