【Mac】Tmux技巧

一 为什么选择tmux

tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理。
在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求。如在这里插入图片描述
图所示,iTerm2 能新建多个标签页(快捷键 ⌘T),也能在同一个窗口中分割出多个窗格(快捷键 ⌘D 或 ⌘⇧D)。

tmux 相比 iTerm2 的优势在于:

  • iTerm2 的窗格切换快捷键(⌘⌥→)容易与其他软件全局快捷键冲突(例如 Spectacle 的窗口分割快捷键),tmux 由于存在前缀快捷键,所以不存在快捷键冲突问题;
  • tmux 可以在终端软件重启后通过命令行恢复上次的 session ,而终端软件则不行;
  • tmux 简洁优雅、订制性强,也能在 Linux 上使用。

二 安装

brew install tmux

三 快捷键

一般情况下 tmux 中所有的快捷键都需要和前缀快捷键 ⌃ B 来组合使用(⌃ 即 Mac 的 control 键),以下是常用的窗格(pane)快捷键列表,大家可以依次尝试下:

四 窗格操作

^ B之后组合键作用
%左右平分出两个窗格
"上下平分出两个窗格
x关闭当前窗格
{当前窗格前移
}当前窗格后移
;选择上次使用的窗格
o选择下一个窗格,也可以使用上下左右方向键来选择
space切换窗格布局,tmux 内置了五种窗格布局,也可以通过 ⌥1 至 ⌥5来切换
z最大化当前窗格,再次执行可恢复原来大小
q显示所有窗格的序号,在序号出现期间按下对应的数字,即可跳转至对应的窗格

五 窗口操作

tmux 除了窗格以外,还有窗口(window) 的概念。tmux 的窗口操作:

^ B之后组合键作用
c新建窗口,此时当前窗口会切换至新窗口,不影响原有窗口的状态
p切换至上一窗口
n切换至下一窗口
w窗口列表选择,注意 macOS 下使用 ⌃p 和 ⌃n 进行上下选择
&关闭当前窗口
,重命名窗口,可以使用中文,重命名后能在 tmux 状态栏更快速的识别窗口 id
0切换至 0 号窗口,使用其他数字 id 切换至对应窗口
f根据窗口名搜索选择窗口,可模糊匹配#

六 会话操作

在 shell 主进程下运行以下命令可以操作 tmux 会话:

tmux new -s foo 			# 新建名称为 foo 的会话
tmux ls 					# 列出所有 tmux 会话
tmux a 						# 恢复至上一次的会话
tmux a -t foo 				# 恢复名称为 foo 的会话,会话默认名称为数字
tmux kill-session -t foo 	# 删除名称为 foo 的会话
tmux kill-server 			# 删除所有的会话

在 tmux 会话中,使用前缀快捷键 ⌃b 配合以下快捷键可操作会话:

  • $ 重命名当前会话
  • s 选择会话列表
  • d detach当前会话,运行后将会退出 tmux 进程,返回至 shell 主进程

除以上提到的快捷键以外,tmux 还有许多其他的快捷键和命令,使用前缀快捷键 ⌃b 加 ? 可以查看所有的快捷键列表,该列表视图为 tmux copy 模式,该模式下可使用以下快捷键(无需加 ⌃b 前缀):

  • ⌃v 下一页
  • Meta v 上一页 (tmux 快捷键为 Emacs 风格,这里的 Meta 键可用 Esc 模拟)
  • ⌃s 向前搜索

七 滚屏设置

要退出复制模式,请按ESC键
要在此模式(称为复制模式)下使用鼠标,请按 ^b + : 并输入以下内容:

setw -g mouse on
# 注意:在tmux <2.1中,该选项名为mode-mouse,而不是mouse

"每次运行tmux时都将其加载,以使用滚屏"
echo "setw -g mouse on" >> ~/.tmux.conf

更新:从tmux 1.5开始,此选项使使用滚轮自动切换到复制模式并向后滚动tmux回滚缓冲区。没有必要先打Ctrl-B+ [。向下滚动到提示也会自动结束复制模式。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值