Skip to content

Latest commit

 

History

History
107 lines (72 loc) · 3.82 KB

0221_mac_tmux.md

File metadata and controls

107 lines (72 loc) · 3.82 KB
title date categories tags toc
使用tmux
2016-02-21
笔记
MacOS
Shell
true

什么是tmux

tmux是一个支持多会话独立运行的优秀的终端复用软件。它类似GNU Screen,自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。

tmux的使用场景

Mac自带的Iterm2很好用啊。既支持多标签,也支持窗体内部Panel的分割,为什么还要用tmux?

  • 与VIM配合使用,打造出更高效、更优雅的终端工具。尤其是在当前大屏幕显示器下,多标签和分割窗体,无缝跳转。既可使用vim来写代码,也可使用tmux来查询代码编译与支行结果。
  • 提供了一个窗体组随时存储和恢复的功能。调试程序,开了一堆窗口。出去吃了个饭,发现SSH超时了,如果使用tmux就attach就能找回原来打开的那些窗口。

tmux的基本概念

tmux的主要元素分为三层:

  • Session会话: 一组窗口的集合,通常用来概括同一个任务。session可以有自己的名字便于任务之间的切换。
  • Window 窗口: 单个可见窗口。Windows有自己的编号,也可以认为和ITerm2中的Tab类似。
  • Pane 窗格: 被划分成小块的窗口,类似于Vim中 C-w +v 后的效果。

层次结构

安装

在Mac环境下,先安装Brew,使用Brew安装tmux命令如下:

brew install tmux

使用

安装完成之后,在终端中直接敲入tmux就可启动一个 tmux 的会话。退出会话敲入 exit 即可退出当前会话Pane。可以使用 tmux detach 命令断开已有的会话。也可以使用快捷键 Ctrl-b d 断开会话

tmux 默认使用 Ctrl-b 作为激活快捷键的开关,开关开启后就可以通过快捷键迅速调用大量的功能。快捷键参考如下:

基础

  • ? 获取帮助信息

Session管理

  • s 列出所有会话
  • $ 重命名当前的会话
  • d 断开当前的会话

window管理

  • c 创建一个新窗口
  • , 重命名当前窗口
  • w 列出所有窗口
  • % 水平分割窗口
  • " 竖直分割窗口
  • n 选择下一个窗口
  • p 选择上一个窗口
  • 09 选择09对应的窗口

pane管理

  • % 创建一个水平窗格
  • " 创建一个竖直窗格
  • h 将光标移入左侧的窗格*
  • j 将光标移入下方的窗格*
  • l 将光标移入右侧的窗格*
  • k 将光标移入上方的窗格*
  • q 显示窗格的编号
  • o 在窗格间切换
  • } 与下一个窗格交换位置
  • { 与上一个窗格交换位置
  • ! 在新窗口中显示当前窗格
  • x 关闭当前窗格> 要使用带“*”的快捷键需要提前配置

其他

  • t 在当前窗格显示时间

配置

像VIM一样,可以定制你的tmux。tmux默认会先从 /etc/tmux.conf 加载系统级的配置项,然后从 ~/.tmux.conf 加载用户级的配置项。也可以启动tmux时使用参数 -f 指定一个配置文件。配置包含如下几个配置项:

  • 自定义各种快捷键
  • 自定义屏幕下方的状态条

如配置激活快捷键:

set -g prefix ^k
unbind ^b

默认的tmux风格比较朴素甚至有些丑陋。如果希望做一些美化和个性化配置的话,建议使用gpakosz 的tmux配置。它的本质是一个tmux配置文件,实现了以下功能:

  • 基于powerline的美化
  • 显示笔记本电池电量
  • 和Mac互通的剪切板
  • 和vim更相近的快捷键

.tmux