tmux使用(程序员适用)

 

原文:http://jack-boy.iteye.com/blog/1586908shell

 

tmux基本使用 
    tmux是一个优秀的终端复用软件,即便非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络很差的状况下仍然能保证工做现场不丢失! 
    tmux彻底使用键盘控制窗口,实现窗口的切换,像是Chrome的方式管理shell,使用起来很方便,byubo也有一样的功能。 
    tmux命令都具备一个前缀命令(PREFIX),默认的是CTRL+b,能够本身修改,改成CTRL+a。 
在~/.tmux.conf中加入以下行,没有~/.tmux.conf文件本身创建一个便可。 
set -g prefix C-a 
unbind C-b 
此时并无生效,重启tmux或者在命令模式(按PREFIX : )输入 
source-file ~/.tmux.conf 
任何命令前都须要CTRL+a,而后再按其余的键发出具体的操做命令,更多命令请看tmux参考手册 

1 创建命名会话windows

  # tmux new -s session  api

进入tmux。 网络

PREFIX 就是control+b 松开session

PREFIX c 建立新的窗口 
PREFIX d 退出tmux窗口,tmux仍在后台运行,能够经过tmux attach进入到指定的会话 

# tmux new -s session -d #在后台创建会话 
# tmux ls #列出会话 
# tmux attach -t session #进入某个会话 

2 复制模式copy-mode 
a.PREFIX [ 进入复制模式 
b.按 space 开始复制,移动光标选择复制区域 
c.按 Enter 复制并退出copy-mode。 
d.将光标移动到指定位置,按 PREIFX ] 粘贴 
若是不在配置文件中进行以下配置,在VIM中复制模式没法完成操做 
~/.tmux.conf中加入以下行 
setw -g mode-keys vi 

3 Remaping key 
Caps Lock键映射为Ctrl,更改键映射后反而有点不习惯,就用默认的键盘控制也很方便,习惯就好。 
windows环境下载安装AUTOHOTKEY,修改AutoHotKey.ahk文件为 spa

1 ;;; Default script settings  
2 #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.  
3 SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.  
4 SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.  
5 ;;; Remap CapsLock to Control. Move CapsLock to Right Control.  
6 CapsLock::Control  
7 RControl::CapsLock  

运行AutoHotKey,如已运行能够reload。更多修改CapsLock到CTRL的方法,请参考文章MovingTheCtrlKey code


4 配置 orm

 1 #设置PREFIX为Ctrl-a  
 2 set -g prefix C-a  
 3 #解除Ctrl-b与PREFIX的对应关系  
 4 unbind C-b  
 5 #copy-mode将快捷键设置为vi模式  
 6 setw -g mode-keys vi  
 7 #将r键设置为加载配置文件,并显示"reloaded!"信息  
 8 bind r source-file ~/.tmux.conf \; display "Reloaded!"  
 9 #设置终端颜色为256色  
10 set -g default-terminal "screen-256color"  
11 #开启status-bar uft-8支持  
12 set -g status-utf8 on  
13 #设置pan前景色  
14 set -g pane-border-fg green  
15 #设置pane背景色  
16 set -g pane-border-bg black  
17 #设置活跃pane前景色  
18 set -g pane-active-border-fg white  
19 #设置活跃pane背景色  
20 set -g pane-active-border-bg yellow  
21 #设置消息前景色  
22 set -g message-fg white  
23 #设置消息背景色  
24 set -g message-bg black  
25 #设置消息高亮显示  
26 set -g message-attr bright  
27 #设置status-bar颜色  
28 set -g status-fg white  
29 set -g status-bg black  
30 #设置窗口列表颜色  
31 setw -g window-status-fg cyan  
32 setw -g window-status-bg default  
33 setw -g window-status-attr dim  
34 #设置当前窗口在status bar中的颜色  
35 setw -g window-status-current-fg white  
36 setw -g window-status-current-bg red  
37 setw -g window-status-current-attr bright  
38 #设置status bar格式  
39 set -g status-left-length 40  
40 set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"  
41 set -g status-right "#[fg=cyan]%d %b %R"  
42 set -g status-interval 60  
43 set -g status-justify centre  
44 #开启window事件提示  
45 setw -g monitor-activity on  
46 set -g visual-activity on  


5 滚屏 
    滚屏要进入copy-mode,即PREFIX+[,而后就能够用上下键来滚动屏幕,配置了vi快捷键模式,就能够像操做vi同样来滚动屏幕,很是的方便。 
    退出直接按‘q’键便可。 blog