tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再使用更多的SSH会话来连接这台远程主机;其功能远不止于此。
# mac
$ brew install tmux
$ brew install reattach-to-user-namespace
# ubuntu
$ sudo apt-get install tmux
$ curl 'https://raw.githubusercontent.com/mxgnene01/m-tmux/master/tmux.conf' > ~/.tmux.conf
or
$ git clone git@github.com:mxgnene01/m-tmux.git
$ ln -s $PWD/m-tmux/tmux.conf $HOME/.tmux.conf
tmux -> session -> window -> pane
PREFIX = Ctrl-x
$ tmux new -s session_name
[PREFIX-:] new -s session_name
[PREFIX-d]
$ tmux ls
$ tmux a
[PREFIX-s]
[PREFIX-$]
$ tmux new-window -n code -t session_name
[PREFIX-c]
[PREFIX-x]
[PREFIX-n] or [PREFIX-ctrl+l] / [PREFIX-ctrl+n]
[ctrl-x+x] ctrl 接两次的x键位
[PREFIX-1/2/3]
[PREFIX-w]
# 原始 [PREFIX-%]和[PREFIX-"]
# 修改之后 垂直/水平分割窗口
[PREFIX-|] / [PREFIX--]
[PREFIX-hjkl] pane之间移动
# 关闭一个面板, 要确认
[PREFIX-x]
# 或者
$ exit [面板里执行]
[Ctrl-<>JK] < -左移, > - 右移,J - 向下,K - 向上
[PREFIX-!]
[PREFIX-space]
[PREFIX-:] set synchronize-panes on
# 进入复制模式
[PREFIX-[]
[PREFIX-PgUp]
=> 可以进行的操作
space/v 开始选择
hjkl 方向键移动
w/b 向前向后移动一个单词
fx/Fx 行内移动到下一个字符位置
ctrl-b/f 在缓冲区里面翻页
g/G 到缓冲区最顶/底端
/ ? 向下, 向上查找
n/N 查找后下一个, 上一个
Enter/y 复制
[PREFIX-]] 粘贴
# 安装 工具包,为了在tmux 中复制到系统剪切板
$ brew install reattach-to-user-namespace
# 进入复制模式
[PREFIX-[]
v 开始选择
y 复制到系统剪切板
[PREFIX-r]
#!/bin/bash
export HOSTNAME='MacBook-Pro'
tmux has-session -t local
if [ $? != 0 ]; then
# local session
tmux new-session -s local -n "~" -d
tmux new-window -n code -t local
tmux send-keys -t local:2 'j app_php' C-m
tmux new-window -n jenkins -t local
tmux send-keys -t local:3 'j python' C-m
fi
# tmux has-session -t f12
# if [ $? != 0 ]; then
# tmux new-session -s f12 -n python -d
# fi
mxgnene01
Email: mxgnene01@gmail.com
Github: https://github.com/mxgnene01
2017-10-10 BeiJing