terminal multiplexer

theme: https://github.com/caiogondim/maglev

1个窗口占据一个终端,里面被切分成多个pane;类似于多桌面.

libevent版本需>2,不要使用yum安装. 注意:需要做映射:

ln -s /usr/local/lib/libevent.so.2.2.0 /usr/lib64/libevent.so.2.2.0
vim .bashrc: export TERM=xterm-256color
tmux ls  # 显示已有的session,以数字区分

bashrc

tm() {
  cmd=$(which tmux)
  sname=leiz
  if [ -z $cmd ]; then
    echo "You need to install tmux!"
    return 1
  fi

  $cmd has-session -t $sname
  if [[ $? != 0 ]]; then
    $cmd new-session -d -s $sname -n "window1"
    $cmd split-window -h
    $cmd split-window -v "exec top"
    $cmd select-pane -t 1
    $cmd -2 attach-session -d
  else
    $cmd attach
  fi
}

Shortcut

Ctrl + d: 退出当前的pane

PREFIX +:
[: 进入复制模式,空格键开始、回车确认、q退出
]: 进入粘贴模式,粘贴之前复制的内容,q退出
:: 进入命令模式,如kill-server.
c: 创建新的窗口, &:关闭当前窗口
p: 上一个窗口,也可使用数字键, f:在所有窗口中查找关键字 n: 下一个窗口,也可使用数字键, l:最后一个窗口
x: 关闭当前pane
o: 下一个pane(.循环)(;最后一个pane)(q显示待选择的编号)
": 下开一个新pane
%: 左开一个新pane
resize-pane -R 8: 当前pane向右扩大8列, L/D/U

config

配置文件: .tmux.conf

set  -sg escape-time 0  # ESC的持续时间(判断是否是其他附加键),默认500毫秒
set  -g  default-terminal "screen-256color"
set  -g  display-time 5000  # status提示信息持续5秒
set  -g  history-limit 100000
set  -g  set-titles on
set  -g  set-titles-string '#T'
set  -g  monitor-activity on
set  -g  visual-activity on
set  -g  visual-bell off
set  -g  renumber-windows on
set  -g  base-index 1  # 窗口的初始序号从1开始
set  -gq mouse-select-window on
set  -gq mouse-select-pane on
set  -gq mouse-resize-pane on
setw -gq mode-mouse on
setw -g  mode-keys vi
setw -g  clock-mode-style 24
setw -g  clock-mode-colour colour64
# misc :-n(指定无需加前缀C-t)
set  -g  prefix C-t
bind C-t send-prefix
bind r source-file ~/.tmux.conf \; display-message "Config reloaded.."
if 'which -s reattach-to-user-namespace' 'bind y run "tmux save-buffer - | reattach-to-user-namespace pbcopy"'

# 窗格&消息
setw -g pane-base-index 1
set -g pane-border-fg colour235
set -g pane-active-border-fg colour240
set -g display-panes-colour colour166
set -g display-panes-active-colour colour33
set -g message-fg colour166
set -g message-bg colour235

# 状态栏
set -g status-position top  # 需要2.0以上版本!
set -g status-interval 30  # 每30秒刷新一次状态栏
set -g status-left-length 90
set -g status-right-length 90
set -g status-left "#[fg=green]SESSION: #S  #[fg=yellow]WINDOW: #I  #[fg=cyan]PANE: #P"
set -g status-right "#[fg=cyan]#(date +%H:%M' '%a-%b)"
set -g status-fg colour136
set -g status-bg colour235
set -g status-attr default
set -g status-left-fg cyan
set -g status-left-bg default
set -g status-right-fg cyan
set -g status-right-bg default
setw -g window-status-fg colour244
setw -g window-status-bg default
setw -g window-status-current-format "#[fg=colour235, bg=colour27]#I #[fg=colour255, bg=colour27]#W #[fg=colour27, bg=colour235]#F"
setw -g window-status-current-fg colour166
setw -g window-status-current-bg default