• linux开发神器--Tmux


    在Linux上工作的朋友,可能会常常遇到这种情况:

    痛点1: 在公司用putty连着Linux开发机,程序正跑着,不知不觉到了下班的时候,要和老婆/女朋友约会了,但是程序还没跑完,并且进度有点紧,还得把工作带回家,怎么办?

    如果断开网络,putty就会断,无法看到程序跑的怎么样了。

    痛点2: 在Linux上用Vim写着代码,想调试一下。要么保存代码-->退出-->编译。要么再开一个Terminal窗口,调试的时候要两个窗口来回切,好麻烦!

    此时就需要神器Tmux。

    Tmux是什么呢?

    Tmux 是一个工具,用于在一个终端窗口中运行多个终端会话。不仅如此,你还可以通过 Tmux 使终端会话运行于后台或是按需接入、断开会话,这个功能非常实用。

    如何安装Tmux?

    在Ubuntu上安装Tmux很简单,只需要执行命令:

    sudo apt-get install tmux

    即可。

    如何使用Tmux?

    网上关于Tmux的教程其实有很多,我只把实际工作中最实用的部分列出来。

    先列一个Tmux最重要的快捷键:"ctrl+b"

    Tmux为了使其快捷键不与Vim以及操作系统等的快捷键冲突,设置了一个“快捷键前缀”的概念。也就是说,当我们使用Tmux任何快捷键的时候,都必须先按"ctrl+b"

    针对使用过程,首先明确一下Tmux里的几个概念:会话、窗口、窗格

    我们不去拗口的讲这三个概念是什么意思,直接实际操作起来,让你理解。

    使用Tmux,必须首先创建会话。创建方法:

    tmux new -s 你指定的会话名

    创建成功后,会进入你创建的会话。

    针对痛点1:

    如果这时候我们正跑着代码,需要断网了。此时只需要按快捷键"ctrl+b",然后再按一下"d"。也就是"ctrl+b"和"d"的组合,就从这个会话中退出了。

    但是退出并不意味着结束,当我们回到家,重新用putty连上Linux,仍然可以回到这个"会话"(也就是这个工作状态)当中来。

    通过命令"tmux ls",我们能够看到目前系统中有哪些会话。

    而命令"tmux a -t 你要进入的会话名",就可以实现回到"会话"的功能。

    你会发现,上次断网之前的工作状态被好好的保存着,可以继续工作啦。

    针对痛点2:

    我们回到会话中。想再写代码的同时调试怎么办?

    Tmux可以实现窗口分屏功能

    快捷键:"ctrl + b" 和 "%"

    你会发现,窗口被分成了两个窗格。这样就可以边写代码,边调试,而不用开两个terminal了!

    痛点2的延伸:

    你学会了Tmux的分屏功能,用着很爽,边写代码,边调试。这个时候老大来了,给你一个新任务:写个小脚本。

    因为你正边写边调试代码,分屏功能用着很爽,肯定不会关掉这个分屏的terminal。只好新开一个terminal咯?

    不用这么麻烦!新开一个窗口即可!

    快捷键:"ctrl + b "和"c"。

    你会发现,新开了一个窗口,之前分屏的窗口隐藏了。在terminal最下方,显示着窗口的编号。此时你蹭蹭蹭把小脚本写完了,如何返回之前的窗口呢?

    快捷键:"ctrl + b "和"你要返回的窗口编号"。

    如下图所示。

    Tmux和Vim的冲突问题:快捷键和配色

    你进入Tmux后,发现在Tmux里使用Vim,之前设置的插件的快捷键不能用了,配色都变了。不要慌,下面是解决方案。

    快捷键:

    打开PuTTY设置界面,在Terminal –> Keyboard下,将The Function keys and keypad从默认选项“ESC[n~”更改为“Xterm R6”,记得保存设置,之后功能键就可用了。

    如下图所示。

    配色:

    两个解决方法

    1、一种解决方法是,export出TERM环境变量为xterm-256color。(同时需要上面快捷键的操作,即把默认选项“ESC[n~”更改为“Xterm R6”)直接执行下列代码:

    echo 'export TERM=xterm-256color' >> ~/.bashrc

    source ~/.bashrc

    2、另一种解决方法是使用-2参数启动tmux,强制tmux认为终端支持256 colours:

    echo 'alias tmux="tmux -2"' >> ~/.bashrc

    source ~/.bashrc

    对于其他功能和快捷键,大家就可以自己去探索了,下面是快捷键参考

    按下 Ctrl-b 后的快捷键如下:

    基础

    • ? 获取帮助信息

    会话管理

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

    窗口管理

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

    窗格管理

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

    其他

    • t 在当前窗格显示时间

    参考链接:

    1、Tmux 入门介绍

    http://blog.jobbole.com/87278/

    2、Tmux 速成教程:技巧和调整

    http://blog.jobbole.com/87584/

    3、解决tmux在PuTTY下工作异常的问题

    http://www.tuicool.com/articles/2eeYBz

  • 相关阅读:
    读书笔记:《HTML5开发手册》-- 现存元素的变化
    关于微信小程序,一些想法
    HTML5--details活学活用
    读书笔记:《HTML5开发手册》--figure、time、details、mark
    读书笔记:《HTML5开发手册》--HTML5新的结构元素
    微信小程序开源项目库汇总
    Debian安装fail2ban来防止扫描
    Debian更新软件源提示There is no public key available for the following key IDs的解决方法
    JavaBugCharSequence
    分析 《7吨碳九泄漏,40万泉港人在无声中消逝》虚假报道
  • 原文地址:https://www.cnblogs.com/zknublx/p/9905120.html
Copyright © 2020-2023  润新知