Day 06:萤幕切八段!多开神器 tmux

我把从第一天到现在每天的 Home 目录都放上 GitHub 了,README.md 里面有说明
这是今天的 Release https://github.com/simba-fs/2021-ironman-example/releases/tag/day06


今天起要介绍的是 tmux,这是一个终端机的 session 管理器,什麽是 session 呢?你可以把 session 理解为一个终端机(画面)和主机 (你的电脑)的连线,tmux 做的事就是把一个终端机切分成多个终端机,白话说就是多开神器啦!这样你就可以左边编辑程序、右边看执行结果(如图)。而且一切操作都在一个终端机视窗里面,这意味着即使你在没有图形界面的纯文字模式(像是 single user mode、ssh 连线)也可以享受如同图形界面的便利!

tmux demo
tmux demo

安装

debian/ubuntu

$ apt install tmux

macOS

$ brew install tmux

其他 or 自己编译

其他可以参考 https://github.com/tmux/tmux/wiki/Installing 的说明

config

tmux 启动时会去读取 ~/.tmux.conf 这个档案,所以的设定档都放在这,在这里,我推荐一个我用很多年的设定档,点击这里下载,或是执行以下命令

curl https://gist.githubusercontent.com/simba-fs/e06a1763c1967ce3f4b5ef643db5e0b3/raw/2f28c62d01f419a390bfc0e66a974985bacdefa5/.tmux.conf > ~/.tmux.conf

这个档案是我从网路上找到的,後来有加一些自己的东西,把档案下载下来并存到 ~/.tmux.conf 里面,关於每一行的用途都有用注解标示,主要几个改变有以下几点:

  • 把前置按键(prefix)从 Ctrlb 改成 Ctrla (第 16 ~ 19 行,不喜欢的话可以拿掉),你也可以改成其他按键
  • 底部 status bar 变成彩色,不再是单调的绿色
  • 一些快捷键绑定

启动

暂时我们不加入开启终端机自动启动 tmux,手动启动方式是在终端机执行命令

tmux

这时候你会看到终端机最上面跳出一个错误讯息

~/.tmux/plugins/tpm/tpm' returned 127

这是因为我们还没装 tmux 的外挂管理器 tmp (是 tmux plugins mamager,不是最近 win 11 的 tpm 2.0)
tpm 安装很简单,只要一行指令就可以了

$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

要安装外挂只要在 run '~/.tmux/plugins/tpm/tpm' 之後加上 set -g @plugin <repo> 就行了,在我给的 config 档中注解有说明 repo 格式
这时候启动 tmux 就不会有错误了

预告

今天安装好了 tmux 和外挂管理 tpm,明天会介绍如何在开启终端机时自动开启 tmux,你以为是直接在 ~/.zshrc 中执行 tmux 吗?嘿嘿嘿,你可以试试就知道为什麽没这麽简单了,明天的文章会好好介绍如何完美整合 zsh 和 tmux


<<:  Day 04 : 操作基础篇 1 — 认识 Obsidian 预设介面与基础功能

>>:  EP07 - Jenkins Pipeline 整合 Gitlab 使用 Webhook

Array of arrays

Recursion + Loop let array = [[["c",[&qu...

Day15【Web】网路攻击:中间人攻击(MITM)

中间人攻击(MITM) 全称为 Man-in-the-middle Attack 是指攻击者介入正常...

[Day 22] Facial Recognition: Google FaceNet

Google在2015年时发表了一篇论文, 提出了FaceNet网路架构。 而其实在前面几天实作人脸...

手机行动电话 mail app 推荐 IMAP POP

手机行动电话 mail app 推荐 IMAP POP 推荐两个 一个是 Microsoft out...

Day18 用CSS做出动画效果

还没学到这个属性之前,一直以为必须使用到JavaScript,才能让网页有动画的效果,没想到用CS...