Linux终端复用工具tmux快捷键备忘

你是否曾经开过一大堆的 Terminal?有没有把它们都保存下来的冲动?Tmux 的Session就是做这件事情的! 你可以随时退出或者进入任何一个 Session。每个 Session 有若干个 Window,每个 Window 又可以分成多个窗格(Pane)。 极大地满足 Terminal 用户的需求。

此外即使 iTerm/Terminal/Konsole 意外关闭也没关系,因为 Session 完全保存在 Tmux Server 中。 再次打开 Terminal 时只需 tmux attach 便可回到你的工作区,就像从未退出过一样。

1.安装

安装的话这里就不过说明了,不同的Linux发行版相应的包管理机制不同,安装tmux包即可。

2.使用技巧

tmux主要包括以下几个模块:

  • session 会话:一个服务器可以包含多个会话
  • window 窗口:一个会话可以包含多个窗口
  • pane 面板:一个窗口可以包含多个面板[强悍的分屏]

tmux默认Ctrl+b 为前缀按键,敲击前缀按键之后,使用快捷键就可以执行一些相应的指令了。当然如果你不习惯使用Ctrl+b,也可以在~/.tmux.conf文件中加入以下内容把快捷键变为Ctrl+a,(找不到.tmux.conf文件的话,新建一个即可):

# Set prefix key to Ctrl-a
unbind-key C-b
set-option -g prefix C-a

以下所有的操作都是激活控制台之后,即键入Ctrl+b前提下才可以使用的命令(这里假设快捷键没改,可以在配置文件中修改)。

3.基本操作:

  • ? :列出所有快捷键;按q返回
  • d : 脱离当前会话,可暂时返回Shell界面,输入tmux attach能够重新进入之前会话
  • s : 选择并切换Session;在同时开启了多个会话时使用
  • D : 选择要脱离的Session;在同时开启了多个会话时使用
  • : :进入命令行模式;此时可输入支持的命令,例如kill-server所有tmux Session
  • [ :复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出
  • ] : 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出
  • ~ : 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
  • t :显示当前的时间
  • Ctrl+z : 挂起当前会话

4.窗口操作:

  • c :创建新窗口
  • & :关闭当前窗口
  • 数字键 : 切换到指定窗口
  • p :切换至上一窗口
  • n :切换至下一窗口
  • l :前后窗口间互相切换
  • w :通过窗口列表切换窗口
  • , :重命名当前窗口,便于识别
  • . :修改当前窗口编号,相当于重新排序
  • f :在所有窗口中查找关键词,便于窗口多了切换

5.面板操作:

  • :将当前面板上下分屏
  • % :将当前面板左右分屏
  • x :关闭当前分屏
  • ! :将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板
  • Ctrl+方向键 :以1个单元格为单位移动边缘以调整当前面板大小
  • Alt+方向键 :以5个单元格为单位移动边缘以调整当前面板大小
  • 空格键 :可以在默认面板布局中切换,试试就知道了
  • q :显示面板编号
  • o :选择当前窗口中下一个面板
  • 方向键 :移动光标选择对应面板
  • { :向前置换当前面板
  • } :向后置换当前面板
  • Alt+o :逆时针旋转当前窗口的面板
  • Ctrl+o :顺时针旋转当前窗口的面板
  • z :tmux 1.8新特性,最大化当前所在面板

6.线程操作:

线程操作是在未启动Tmux线程之前在终端上的操作,这样可以保证主机断线后,线程不中断

  • tmux new -s session_name :创建一个名字是session_name的线程
  • tmux attach -t session_name :连接到名字是session_name的线程之上

7.分屏效果

附一张分屏效果图:


Linux终端复用工具tmux快捷键备忘_第1张图片
分屏效果

希望这篇文章能给使用tmux的程序员一些帮助。

你可能感兴趣的:(Linux终端复用工具tmux快捷键备忘)