我的tmux使用手册
基础概念
-
Session:用来概括一个任务,是一组窗口的集合。通过在任务开始前创建一个Session,在该Session中进行任务,之后通过断开Session来暂时中断任务,此时与任务相关的状态都会保存在这个Session,通过重新连接Session可以方便的继续未完成的任务。Session最大的作用就是持久的保存工作状态。
-
Window:单个窗口,一个Session可以包含多个Window。tmux中Window的概念与Chrome或Vim的Tab页类似。
-
Pane:单个Window可以进一步划分成小块的Pane,tmux中的Pane类似与Vim中使用split划分出的窗口。
常用命令
tmux - 创建一个不指定名字的Session tmux new -s <session-name> - 创建指定名字为<session-name>的Session tmux ls - 查询所有Session tmux detach - 断开Session(需要使用快捷键命令输入) tmux a - 快速连接所有Session中的第一个Session(`a`即`at`, `attach`) tmux a -t <session-name> - 重新连接Session tmux kill-session -t <session-name> - 关闭Session
常用快捷键
在tmux中使用的快捷键需要一个
Session
s 列出Session $ 重命名Session d 断开Session
Window
c 创建新的Window , 重命名当前Window w 列出所有Window & 关闭Window n 选择下一个Window p 选择上一个Window 0~9 切换到 0~9 对应的Window '<#index> 选择窗口编号超过 2 位数的窗口(比如 '10,代表切换到编号为 10 的窗口)
Pane
% 创建一个竖直Pane " 创建一个水平Pane q 显示Pane的编号 o 在Pane中切换 { 与上一个Pane交换位置 } 与下一个Pane交换位置 z 切换Pane大小为整个Window ! 显示当前Pane在新的Window中
Misc
? 帮助信息 t 显示时间 : 命令输入
拷贝
<prefix> [ 进入复制模式 <prefix> ] 粘贴
移动光标到要复制的区域,移动光标时可用vim的搜索功能"/","?" 按空格键开始选择复制区域,选择完成后安enter键退出
配置
-
生效方式:重启or使用
<prefix> :
+source-file /path/to/conf
-
建议通过一个配置文件保存,方便管理:https://github.com/vimerzhao/dotfiles/blob/master/vimerzhao_tmux.conf[vimerzhao/dotfiles]
修改前缀
set -gu prefix2 unbind C-j unbind C-b set -g prefix C-j bind C-j send-prefix
我比较喜欢用C-j
。
修改快捷键
unbind '"' bind - splitw -v -c '#{pane_current_path}' unbind % bind | splitw -h -c '#{pane_current_path}'
平分面板的快捷键实在太偏僻了。
参考
-
[Tmux使用手册
louis blog](http://louiszhai.github.io/2017/09/30/tmux/)
-
tmux Productive Mouse-Free Development