使用tmux替代screen

介绍
screen作为一个老牌的终端屏幕管理软件完全满足我的日常需求,唯一的缺憾是screen没有分屏的功能。tmux是这样一款软件,它包含了99%的screen功能,而且它具有屏幕分屏的功能。
通过修改tmux的配置,调整快捷键,理论上screen用户可以无缝切换到tmux。

遇到的问题
1. tmux 当前最新版本1.8不支持滚屏,换用tmux1.6就可以。这里说的滚屏是指当一个窗口(不切分小窗口的情况下)的屏幕历史通过putty的滚动条上拉去看的时候就截断了,除非进入拷贝模式去看。这样就很不方便。目前在tmux1.6版本没有发现这个问题。

效果图
下面是我的tmux效果图

配置文件
之前介绍过screen的使用(见 http://blog.hackroad.com/operations-engineer/linux_server/2013-11/screen的使用方法.html) 。如果您使用了之前screen文章里提供的配置,那么这次从screen无缝切换的tmux配置文件已经为您准备好了。配置如下:

#取消默认的设定键
unbind C-b
unbind &
unbind %
unbind w
unbind '"'
 
#Escape键
set -g prefix C-a
 
#解决bash ctrl a冲突问题
bind a send-prefix
 
#窗口切分快捷键
bind \ split-window -h
bind - split-window -v
bind K confirm-before -p "kill-window #W? (y/n)" kill-window
bind '"' choose-window
 
#Pane之间切换的快捷键
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
 
#Pane大小调整快捷键
bind < resize-pane -L 5
bind > resize-pane -R 5
bind _ resize-pane -D 5
bind + resize-pane -U 5
 
#设置window属性
setw -g window-status-current-bg red
setw -g window-status-current-fg white
setw -g window-status-current-attr bright
setw -g window-status-attr bright
setw -g window-status-format '#[fg=cyan,dim]#I#[fg=blue] #[default]#W#[fg=grey,dim]'
setw -g window-status-current-format '#[fg=cyan,dim]#I#[fg=blue] #[default]#W#[fg=grey,dim]'
 
#设置状态栏
set -g status-utf8 on
set -g status-left ""
set -g status-left-length 0
set -g status-interval 2
set -g status-fg white
set -g status-bg blue
set -g status-right "%Y/%m/%d %H:%M"
set -g default-terminal "screen"
 
#设置滚屏,屏幕历史长度
set -g history-limit 10000
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
setw -g mode-keys vi
setw -g utf8 on
 
#其他设置
set -sg escape-time 0

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 69 queries in 0.542 seconds