tmux使用 转载

tmux使用 转载

作者:zempty
链接:https://zhuanlan.zhihu.com/p/102546608
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我以前一直喜欢使用系统平台自带的 Terminal 处理问题,因为它高效,最近迷恋上一款操作终端的软件 Tmux , 这是一个非常好用的软件,它让我可以更高效的操作终端,大大提高我的工作效率,很容易上手,如果你和我一样经常使用终端解决问题,那么 Tmux 你是很值得学习的。

tmux 的安装

Linux 系统中通常使用 yum 来安装 tmux :

yum install tmux

Mac OS 通常使用 brew 来安装 tmux :

brew install tmux 

你可以看到使用 tmux 的门槛就是这么低。

tmux 中的几个名词

在开始使用 tmux 之前我们需要先了解关于 tmux 的几个名词:

session, window , pane 在这里我们就把他们分别叫做会话,窗口,窗格 。

关于session 很多人都叫会话,个人感觉叫任务更贴切,更形象。

通常我们在终端中操作一个任务的时候,一旦终端关闭,任务也就结束了,被强制关闭了,在 tmux 中 使用 session 就可以解决这个问题,我们可以把当前操作的任务隐藏起来,在视觉上让它消失,任务继续执行着,当我们想返回任务做一些操作的时候,它可以很方便的回来,我们通常把上面的操作就做 session 操作,我们可以把 session 给隐藏起来,我们也可以把 session 给真的关掉。

在 tmux 中有一个窗口的概念,我们可以这样要去理解窗口:当前呈现在我们面前的这一个工作区域就是一个窗口(当前的终端界面),窗口可以被不断切割,切割成一个个小块,这一个个小块我们叫做窗格(pane),这就是窗口和窗格的概念,我们可以把它想象成一块大蛋糕可以把切成很多小块蛋糕,窗口可以被分割成很多小的窗格。

总结: 一个 session 通常指一个任务里面可以有很多窗口,一个窗口又可以有很多的窗格。

可能很抽象,通过下面的实践操作,相信你会加深对 tmux 的理解。

tmux 的前缀键

tmux 中的很多操作都是通过快捷键来实现的,通过快捷键我们可以更加高效的完成任务,这也是很多人喜欢 tmux 的一个主要原因。

如果想使用 tmux 中的快捷键,我们必须使用 tmux 的前缀按键 ctrl + b , 在 tmux

中所有的快捷键都需要通过前缀按键去唤起的。

在 tmux 当中默认的前缀按键是 ctrl + b , 这个前缀按键不是很友好,ctrl 和 b 的距离真的是太长了,操作起来不是很舒心,当然这个前缀按键是可以通过 tmux 的配置文件 .tmux.conf 进行修改的,文末会提到 .tmux.conf 的一点简单配置。

tmux 的 session 常用操作

session 是 tmux 中一个很重要的概念,它很好用,也很简单,下面我们来实践一下如何操作 session .

新建 session

新建一个 session ,在终端输入一个 tmux 命令即可:

tmux

上面的命令会创建一个 session ,默认是通过数字编号来命令的,有时候我们需要明确的知道我们的 session 的名字,方便我们快速进入该 session ,我们可以使用如下的命令:

tmux new -s  <session-name> 

例如新建一个名称是 zempty 的session : tmux new -s zempty

离开 session

有时候我们需要离开终端,操作其他的任务,需要离开该任务,但是又想该任务继续在后台执行,这时候我们需要在 tmux 的任何一个窗格中输入如下命令:

tmux detach

也可以使用快捷键 ctrl + b d ,这里解释一下该快捷键, tmux 离开 session 的快捷键是 d ,但是在 tmux 当中任何快捷键都需要搭配 tmux 的前缀按键 ctrl + b 来唤醒,所以改快捷键的操作是先按 ctrl +b ,紧接着按下按键 d ,这样我们便顺利的离开当前 session 了。

查看 session 列表

有时候我们可能同时操作了好几个 session, 我们可以通过如下的命令来查看我们目前操作了几个session:

tmux  ls  

也可以通过快捷键操作 ctrl + b s 列出所有的 session。

进入 session

离开 session 之后,有时候我们还需要对某个 session 进行操作,这时候可以通过如下的操作:

tmux attach -t  <session-name>

例如我的 session 名称是 zempty , 就可以通过 tmux attach -t zempty 顺利进入 session, 也可以通过 tmux a -t zempty ,该命令中的 a 是 attach 的简写形式

关闭 session

如果需要关闭 session, 可以通过执行如下的命令即可:

tmux kill-session -t <session-name>

例如关闭zempty 这个session : tmux kill-session -t zempty

切换 session

执行命令,可以从当前的 session 快速切换到另一个 session:

tmux switch -t <session-name>

重命名 session

 tmux rename-session -t <old-session-name> <new-session-name>

例如: tmux rename-session -t zempty handsome 改命令会把 zempty 这个 session 重新命名为 handsome.

也可以通过快捷键 ctrl +d $ 来重命名当前的session 。

session 总结
session 在 tmux 操作当中非常重要,希望你可以熟练的使用以上操作命名:
新建 session -> 离开 session -> 查看 session 列表 -> 进入 session -> 关闭 session -> 不同 session 之间的切换 -> 重命名 session 。

tmux 的窗格常用操作

我一直认为使用 tmux 中的窗格是一件很酷的事情,很多人喜欢 tmux 也是因为窗格功能的存在。

什么是窗格(pane)呢?

前文也提到过,这里在详细描述一下:当前我们的工作区域,一块工作屏幕我们叫做窗口,窗口是可以被分割的,当前的工作区域被分割的一块块区域就是窗格。

每一个窗格我们可以用来干不同的事情,窗格同同窗格之间是相互独立的,可以想象我们使用 vim 来搭配 tmux 的窗格功能是不是很酷呢?

切割窗格

切割窗格的命令是:

tmux split-window 

该命令会把当前工作区域分成上下两个小窗格

tmux split-window -h

该命令会把当前工作区域分成左右两个窗格

切割窗格的快捷键 ctrl + b % 可以快速的左右切割,ctrl + b “ 可以快速的上下进行切割。

不同窗格间移动光标

tmux select-pane  -U

把当前光标移动到上方的窗格

tmux select-pane -D

把当前的光标移动的下方的窗格

tmux select-pane -L

把当前的光标移动到左边的窗格

tmux select-pane -R

把当前的光标移动到右边的窗格
移动窗格光标的快捷键:

**ctrl +b **例如 ctrl +b ⬆ 会把光标移动到上方的窗格。

ctrl +b ;光标切换到上一个窗格

ctrl +b o 光标切换到下一个窗格

交换窗格的位置

tmux swap-pane -U

当前窗格向上移动

tmux swap-pane -D

当前窗格向下移动

关闭当前的窗格

关闭窗格通常使用快捷键 ctrl + b x

放大窗格

快捷键 ctrl + b z ,将会放大当前操作的窗格,继续触发该快捷键将会还原当前的窗格。

窗格显示时间

快捷键 ctrl +b t 将会把在当前的窗格当中显示时钟,非常酷炫的一个功能,点击 enter (回车键将会复原)。

窗格总结

关于窗格的操作我们经常操作的就是分割,移动光标,放大窗格,关闭窗格,可以熟练以上提到的操作,关于移动光标的快捷键操作,下文在 .tmux.conf 中也会处理成快捷键进行操作。

tmux 的窗口常用操作

创建窗口

有时候一个窗口不够用,这样我们就需要重新创建一个窗口:

tmux new-window -n <window-name>

例如: tmux new-window -n zempty 就是重新创建一个名字是 zempty 的window

创建窗口的快捷键ctrl + b c, 可以通过快捷键快速的创建一个窗口出来。

切换窗口

tmux select-window -t <window-name>

在已经有多个窗口的条件下,可以通过上名的命令快速进入指定的窗口当中,例如:tmux select-window -t zempty 会快速跳到 zempty 这个窗口当中。

关于切换窗口的快捷键 :

ctrl + b w 显示窗口列表可以通过 j ,k 上下进行选择窗口,然后回车进入指定的窗口。

ctrl + b n 快速切换到下一个窗口。

ctrl +b p 快速切换到上一个窗口。

重命名窗口

tmux rename-window <new-window-name>

例如 tmux rename-window zempty 把当前窗口名为 zempty

窗口命名快捷键:

ctrl + b , 该快捷键可以重新命名窗口

关闭窗口

tmux kill-window -t <window-name>

例如: tmux kill-window -t zempty 删除名称为zempty 的窗口。

关闭窗口的快捷键:

ctrl + b & 可以关闭当前的的窗口

窗口的总结

窗口的日常使用多是通过快捷键去操作,熟练掌握上面提到操作窗口的快捷键即可。

tmux 的配置文件 .tmux.conf

tmux 中的很多操作都是通过快捷键去实现的 ,在 tmux 中我们可以通过 ctrl + b ? 来查找 tmux 的帮助文档,可以查询一些功能键的快捷键信息 ,在帮助文档中按下键盘上的 ESC 或者 q 键就可以退出帮助文档。

在 tmux中有一个配置文件 .tmux.conf ,在其中可以配置一些方便自己的 tmux 快捷键信息等,该文件 .tmux.conf 默认放在 ~(家目录) 目录下面,如果没有可以在 ~ 目录下面创建一个 .tmux.conf 文件即可。

在tmux 中默认的前缀键是 ctrl + b ,这个前缀键对我是十分不友好的,我通常会通过配置文件改成 ctrl + x, 因为我的手很容易触到 x 按键。

下面列出一份简单的 .tmux.conf 的配置文件,算是做为一个入门配置,如下所示

#below reset tmux prefix command key
set -g prefix C-x
unbind C-b
bind C-x send-prefix
#set swap pane key
bind-key k select-pane -U
bind-key j select-pane -D
bind-key h select-pane -L
bind-key l select-pane -R

该配置文件把 ctrl + b 改成了 ctrl + x , 还有多个窗格之间切换光标可以通过 ctrl + x k 切换到上一个窗格, ctrl + x j 切换到下一个窗格, ctrl +x h 切换到左边的窗格,ctrl + x l 切换到右边的窗格。

配置文件总结

关于 tmux 的配置文件的配置可以根据个人的习惯进行配置,配置的具体细节可以通过 google 或者 github 上都可以找的到。

滚动屏幕
ctrl+b [ 然后鼠标可以操作了
要退出按Esc或q

总结

上文大致把 tmux 的详细操作流程梳理了一遍,希望可以帮到你,学习重在实践,跟着教程走两遍,你会爱上 tmux ,因为它很好用,恭喜你入坑 tmux ,本文首发微信公众号 「 zempty 笔记 」,欢迎您的关注。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351