Tmux 入门指南

介绍

tmux是linux中一种管理窗口的程序, 不同于iTerm2, 它提供了一个Session随时存储和恢复的功能(Session概念后面会介绍), detach Session(保持Session后台运行)然后重新attach Session

常用场景, 在公司Terimal中开了多个标签和文件, 下班回家忽然有了灵感想要继续编写, 使用ssh远程链接公司电脑, 然后发现标签页和文件都要重新打开, 如果使用Tmux, 下班了detach当前Session, 回家ssh远程连接后, attach Session后, 场景恢复又能愉快的继续编程了…

安装


  1. # 安装Mac OS X下遗失的包管理Homebrew
  2. $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. # 安装神器Tmux
  4. $ brew install tmux

基础


  1. # 启动Tmux
  2. $ tmux
  3. # 关闭Tmux
  4. $ ctrl + d
  5. # 或退出
  6. $ exit

tmux有三个基本概念:会话(Session),窗口(Window)和面板(Pane). 当你输入tmux后, tmux实际做的事是首先创建一个会话(Session), 然后在这个会话中创建一个窗口, 你可以继续创建多个窗口(Window), 每个窗口初始只包含一个面板, 继续分屏后, 会出现多个面板(Pane) 你在其中看到的终端实际上都属于tmux的某个面板

更进一步讲, Session可以包含多个Window, 每个Window又可以包含多个Pane

tu

基本操作

所有快捷键的执行方式:

按下control + b两个按键组合, 然后松开control + b(为了告诉Tmux我要用Tmux的快捷键了), 然后在按快捷键触发各种行为。

例如: C-b ?的执行过程为按下control + b两个按键组合, 然后松开control + b, 然后在按’?’键, 会显示所有快捷键的列表。

  • C-b ? 列出所有快捷键, 按q或Esc返回
  • C-b d detach当前会话,可暂时返回Shell界面,输入tmux attach能够重新进入之前会话
  • C-b s 选择并切换会话;在同时开启了多个会话时使用

快捷键

Window操作

  • C-b c 创建一个新窗口
  • C-b & 关闭当前窗口
  • C-b w 列出所有的窗口选择
  • C-b p 切换到上一个窗口
  • C-b n 切换到下一个窗口
  • C-b 窗口号 使用窗口号切换窗口(例如窗口号为1的, 则C-b 1)
  • C-b , 重命名当前窗口,便于识别各个窗口

Pane操作

  • C-b % 横向分Terminal
  • C-b " 纵向分Terminal
  • C-b 方向键 则会在自由选择各面板
  • C-b x 关闭当前pane
  • C-b q 显示面板编号

Session操作


  1. # 创建一个新的session
  2. $ tmux new -s <name-of-my-session>
  3. # 在当前session中创建一个新的Session, 并保证之前session依然存在
  4. # C-b : 然后输入下面命令
  5. new -s <name-of-my-new-session>
  6. # 进入名为test的session
  7. $ tmux attach -t test
  • C-b s 列出所有会话
  • C-b d detach当前session(可以认为后台运行)

进阶

美化Tmux

使用gpakosz的Tmux配置进行美化。

优点

  • 使用C-a作为前缀更方便使用, 同时保存了C-b的触发前缀
  • powerline状态条美化(用过vim的都应该比较熟悉)
  • 显示笔记本电池状态

安装使用


  1. $ cd
  2. $ rm -rf .tmux
  3. $ git clone https://github.com/gpakosz/.tmux.git
  4. $ ln -s .tmux/.tmux.conf
  5. $ cp .tmux/.tmux.conf.local .

参考链接

时间: 2024-10-25 18:30:56

Tmux 入门指南的相关文章

Firebug入门指南

据说,对于网页开发人员来说,Firebug是Firefox浏览器中最好的插件之一. 我最近就在学习怎么使用Firebug,网上找到一篇针对初学者的教程,感觉比较有用,就翻译了出来. ================= Firebug入门指南 作者:Estelle Weyl 原文网址:http://www.evotech.net/blog/2007/06/introduction-to-firebug/ 译者:阮一峰 本文是Firebug的一个概览,并不对它的所有特性进行详尽解释.不过,本文的内容

ajax入门指南(七)

ajax学习入门指南,对ajax初学者会有所帮助.    Prototype框架         页面插入         1.Insertion.Before类                 新建Insertion.Before类的实例,会将指定的HTML添加到指定元素之前,并且与之相邻                 示例:                 <div id="div1">original text</div>                

ajax入门指南(六)

ajax学习入门指南,相信对ajax初学者会有所帮助的.  Prototype框架     枚举对象(Enumerable对象)         1.Enumerable.each(iterator)         each方法的参数是一个JavaScript函数,它可以接受两个参数,它们分别是当前遍历的集合元素和当前遍历元素在集合中的序号         示例:         var arr = [1,2,3,4];         arr.each(            functio

ajax入门指南(五)

ajax学习入门指南,对ajax初学者应该有所帮助. Prototype基础类:        1. Class.create()             示例:                 var myClass = Class.create();       2.  Object.extend(destination,source)             示例:                 var myClass = Class.create();                

ajax入门指南(四)

ajax学习入门指南,对ajax初学者应该有所帮助. Prototype对Ajax的支持     Ajax.Request类     如下代码是一个示例:     <!--客户端:index.htm-->     <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>     <script

ajax入门指南(三)

ajax入门指南,相信对ajax初学者会有所帮助. AJAX的主流框架:       浏览器端框架:       一.Prototype系列:         1.Prototype:http://prototype.conio.net,如果在Web应用中实现对Ajax的支持或者需要扩展一些基本的功能,Prototype是个很好的选择:         2.script.aculo.us:http://script.aculo.us,如果要在Web应用中实现更加在丰富的动态效果,提升用户体验,可

ajax入门指南(二)

ajax入门指南,相信对ajax初学者有所帮助. javascript面向对象编程实现:             1.类的声明:                 function test1(){                     this.p1 = "p1";                     this.p2 = "p2";                     this.f1 = function(){ alert("f1");

ajax入门指南(一)

ajax入门指南,对开始学习ajax的朋友应该有所帮助. 1.AJAX兼容IE和Firefox两大浏览器,出现了AJAX开发框架.      2.AJAX开发关键技术:XMLHttpRequest对象,JavaScript编程技术,DOM(文档对象模型),CSS(层叠样式表),和XSLT(可扩展样式表转换)            XMLHttpRequest对象是实现Ajax应用的核心:            JavaScript是Ajax应用在客户端使用的脚本语言:            通过

MySQL入门指南

mysql MySQL入门指南推荐:圆梦   发表日期:2000年10月10日   阅读次数:2039 Miles Tsai(net-bull@126.com)  songzy@mailcity.com 2000.2  一.SQL速成  结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表.索引.字段等)的建立和操纵.  以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册.    1.创建表  表是