【Mac 从 0 到 1 保姆级配置教程 09】09. 快速配置终端复用工具 tmux 和 oh-my-tmux

文章目录

    • 1. 前言
    • 2. 安装 tmux
    • 3. 配置 tmux
    • 4. 安装 oh-my-tmux
    • 5. 最后
    • 6. 参考资料
    • 7. 系列教程

Mac 从 0 到 1 保姆级配置教程目录,点击即可跳转对应文章:
【Mac 从 0 到 1 保姆级配置教程 00】 - 教程说明
【Mac 从 0 到 1 保姆级配置教程 01】 - 安装无敌的 brew
【Mac 从 0 到 1 保姆级配置教程 02】 - 你真的会装软件吗?内含常用软件安装教程
【Mac 从 0 到 1 保姆级配置教程 03】 - 安装配置美化 iterm2 一气呵成,Mac 下经久不衰的终端
【Mac 从 0 到 1 保姆级配置教程 04】 - 手把手教你安装配置 zsh 和 oh my zsh,一看就会!
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题(下)
【Mac 从 0 到 1 保姆级配置教程 06】 - iterm2 常用快捷键和 zsh 别名配置
【Mac 从 0 到 1 保姆级配置教程 07】 - 配置 Git、GitHub、SSH 免密提交以及 Git 常用基础命令

1. 前言

Tmux(Terminal Multiplexer)是一个非常强大的终端复用工具,它允许用户在单个终端窗口中同时运行多个终端会话。使用 tmux 的主要优势包括:

  1. 会话持久化:即使网络连接断开或终端关闭,tmux 会话仍然在后台运行,随时可以重新连接
  2. 窗口分割:可以将单个终端窗口分割成多个窗格,同时查看和操作多个程序
  3. 多会话管理:可以创建、切换和管理多个独立的工作会话
  4. 提高工作效率:尤其适合远程服务器工作、长时间运行的任务监控等场景

tmux 的核心概念包括:

  • 会话(Session):独立的工作区,可包含多个窗口
  • 窗口(Window):相当于标签页,每个会话可以有多个窗口
  • 窗格(Pane):窗口内的分隔区域,可以在一个窗口内显示多个终端

对于开发人员、系统管理员或任何频繁使用命令行的用户来说,tmux 是提高工作效率的必备工具。

2. 安装 tmux

brew install tmux

安装完成之后执行

tmux

下面就是 tmux 默认的界面

tmux

3. 配置 tmux

创建 tmux 配置文件 .tmux.conf,以下是一些基础配置,一些基础知识可以看一下这两个视频:

  • https://www.bilibili.com/video/BV1ML411h7tF
  • https://www.bilibili.com/video/BV1Mj411N7xS

如果你习惯看文章的话可以看一下这篇文章:https://www.acwing.com/blog/content/18141/

如果你用 oh-my-tmux 的话可以跳过这个基础配置,直接使用 oh-my-tmux 的配置。

# The tmux configuration# -- general
setw -g xterm-keys on
set -s escape-time 0
set -sg repeat-time 300
set -s focus-events on
set -g mouse on
set -sg exit-empty onset -q -g status-utf8 on
setw -q -g utf8 onset -g visual-activity off
setw -g monitor-activity off
setw -g monitor-bell offset -g history-limit 10000# reload configuration
bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced'# -- set prefix
unbind C-b
set -g prefix 'C-a'# -- display
set -g base-index 1
setw -g pane-base-index 1setw -g automatic-rename on
set -g renumber-windows onset -g set-titles onset -g display-panes-time 2000
set -g display-time 2000set -g status-interval 1# -- navigation
# create session
bind C-c new-session# window management
bind -n C-w new-window -c "#{pane_current_path}"# pane resizing
bind -r J resize-pane -D 5
bind -r K resize-pane -U 6
bind -r L resize-pane -R 5
bind -r H resize-pane -L 5set -g status-keys emacs
set -g mode-keys vi# bind -n M-v copy-mode
# copy Mode
bind-key -T copy-mode-vi 'v' send -X begin-selection # start selecting text with "v"
bind-key -T copy-mode-vi 'y' send -X copy-selection # copy text with "y"

4. 安装 oh-my-tmux

注意:如果你安装了 oh-my-tmux,它会覆盖你原来的配置 .tmux.conf,所以如果需要的话请提前备份。

安装在家目录下

cd
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

以后修改 .tmux.conf.local文件即可

安装之后的效果如下:

oh my tmux

常用快捷键可以查看官方文档:https://github.com/gpakosz/.tmux

文档中没有给出的配置可以自行查看 vim ~/.tumx.conf,所有的配置都在这里。

5. 最后

Tmux 的配置就比较简单,只有一个配置文件,使用 oh-my-tmux 的配置很快就有一个可以使用切美观的 tmux,关于快捷键的映射大家慢慢熟悉就好了,里面默认的一些快捷键也是比较常用的映射,需要自定义的可以自己指定即可。


如果感觉文章对你有所帮助,请三连支持一下博主哦,感谢大家~

最重要的是给博主留一个大大的关注,你的支持是我更新的最大动力!

这个系列会继续更新下去的!

6. 参考资料

  • Tmux 教程:https://www.acwing.com/blog/content/18141/
  • 两个讲解 tmux 非常好的视频
    • https://www.bilibili.com/video/BV1ML411h7tF
    • https://www.bilibili.com/video/BV1Mj411N7xS

7. 系列教程

【Mac 从 0 到 1 保姆级配置教程 00】 - 教程说明
【Mac 从 0 到 1 保姆级配置教程 01】 - 安装无敌的 brew
【Mac 从 0 到 1 保姆级配置教程 02】 - 你真的会装软件吗?内含常用软件安装教程
【Mac 从 0 到 1 保姆级配置教程 03】 - 安装配置美化 iterm2 一气呵成,Mac 下经久不衰的终端
【Mac 从 0 到 1 保姆级配置教程 04】 - 手把手教你安装配置 zsh 和 oh my zsh,一看就会!
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题(下)
【Mac 从 0 到 1 保姆级配置教程 06】 - iterm2 常用快捷键和 zsh 别名配置
【Mac 从 0 到 1 保姆级配置教程 07】 - 配置 Git、GitHub、SSH 免密提交以及 Git 常用基础命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/72573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日学点HarmonyOS Next知识】屏幕参数、半模态相关、三集联动、只显示部分卡面,自定义绘制

1、HarmonyOS 需要 获取屏幕 xdpi 与 ydpi 数据? 可以通过display.getDefaultDisplaySync参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5 ohos.display (屏幕属性) :屏幕属性提供管理…

Java 大视界 -- 基于 Java 的大数据机器学习模型的迁移学习应用与实践(129)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

通义万相 2.1 与蓝耘智算平台的深度协同,挖掘 AIGC 无限潜力并释放巨大未来价值

我的个人主页 我的专栏: 人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!! 点赞👍收藏❤ 引言:AIGC 浪潮下的新机遇 在当今数字化飞速发展的时代,人工智能生成内容&…

【BERT和GPT的区别】

BERT采用完形填空(Masked Language Modeling, MLM)与GPT采用自回归生成(Autoregressive Generation)的差异,本质源于两者对语言建模的不同哲学导向与技术目标的根本分歧。这种选择不仅塑造了模型的架构特性&#xff0c…

Java实体类转JSON时如何避免null值变成“null“?

在Java开发中,实体类与JSON的转换是一个非常常见的需求。今天,我们要聊聊一个特别的重要但又常常被忽视的问题:当我们将Java实体类转换为JSON格式时,如何处理那些null值,避免它们在JSON中出现为字符串“null”呢&#…

五大基础算法——枚举算法

枚举算法 是一种通过遍历所有可能的解来寻找问题答案的算法思想。它通常用于解决那些解空间有限且可以直接列举所有可能情况的问题。以下是枚举算法的核心概念、适用场景、实现方法及经典例题: 一、核心概念 解空间 所有可能的解的集合。 遍历 通过循环或递归逐一检…

C语言高级学习之变量和内存分布

一.变量和内存分布 1.课程要求 2.技术层次 3.C语言标准 1.3.1 K&R C 起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩柯林汉(Brian Kernighan) 和 丹尼斯里奇(D…

【004】deepseek本地化部署后,python的调用方式_#py

python调用本地deepseek 1 本地化部署deepseek2 python调用方式 1 本地化部署deepseek 已经有很多大佬们说了不少部署本地化部署deepseek的工作了,我就不过多重复了。 先安装Ollama软件,再通过Ollama获取deepseek的模型文件,大家根据电脑的配…

蓝桥杯学习-12递归

12递归 1.概述 2.几个递归模板 (1)求阶乘 int f(int n){ if(n 1) return 1; return f(n-1) * n; }(2)斐波拉契序列 int f(int n){ if(n 1 || n 2) return n; return f(n - 1) f(n - 2); }例题一-蓝桥5194 int f(int n){if(n 0) return 1;if(n % 2 0) return f(n / 2)…

Python----数据可视化(Pyecharts三:绘图二:涟漪散点图,K线图,漏斗图,雷达图,词云图,地图,柱状图折线图组合,时间线轮廓图)

1、涟漪特效散点图 from pyecharts.globals import SymbolType from pyecharts.charts import EffectScatter from pyecharts.faker import Faker from pyecharts import options as opts from pyecharts.globals import ThemeType # 绘制图表 es (EffectScatter(init_optsop…

自然语言处理预训练模型的研究综述

📕参考::2020-11-02,https://kns.cnki.net/kcms/detail/11.2127.tp.20201030.1952.017.html 主要是这篇文章的自己摘了点笔记。 预训练模型的深度学目标是如何使预训练好的模型处于良好的初始状态,在下游任务中达到更好的性能表现…

ES6(1) 简介与基础概念

1. ES6 简介 ES6(ECMAScript 6)是 JavaScript 的一个重要版本,它在 ES5 的基础上进行了扩展和优化。ES6 主要应用于现代 Web 开发,提高了 JavaScript 的编程效率和可读性。 2. ES6 与 JavaScript 的关系 JavaScript 是一种基于 E…

HTML深度解读

## 引言 HTML(HyperText Markup Language)是构建网页的基础语言。自1991年由Tim Berners-Lee发明以来,HTML已经经历了多次版本更新,从HTML 1.0到HTML5,每一次更新都带来了新的特性和功能。本文将深入探讨HTML的核心概…

一次Linux下 .net 调试经历

背景: Xt160Api, 之前在windows下用.net调用,没有任何问题。 但是移植到Linux去后,.net程序 调用 init(config_path) 总是报错 /root/test 找不到 traderApi.ini (/root/test 是程序目录) 然后退出程序 解决过程: 于是考虑是不是参数传错了&…

iOS底层原理系列01-iOS系统架构概览-从硬件到应用层

1. 系统层级结构 iOS系统架构采用分层设计模式,自底向上可分为五个主要层级,每层都有其特定的功能职责和技术组件。这种层级化结构不仅使系统更加模块化,同时也提供了清晰的技术抽象和隔离机制。 1.1 Darwin层:XNU内核、BSD、驱动…

k8s 修改节点驱逐阈值

编辑 /var/lib/kubelet/config.yaml 文件 kind: KubeletConfiguration evictionHard:nodefs.available: "5%" # 降低磁盘压力触发阈值imagefs.available: "10%" # 调整容器镜像存储触发阈值nodefs.inodesFree: "3%

日志存储与分析

日志是系统运行的详细记录,包含各种事件发生的主体、时间、位置、内容等关键信息。出于运维可观测、网络安全监控及业务分析等多重需求,企业通常需要将分散的日志采集起来,进行集中存储、查询和分析,以进一步从日志数据里挖掘出有…

PHP与MySQL的高效数据交互:最佳实践与优化技巧

在现代Web开发中,PHP与MySQL的组合仍然是最常见的技术栈之一。PHP作为一种广泛使用的服务器端脚本语言,与MySQL这一强大的关系型数据库管理系统相结合,能够构建出功能强大且高效的Web应用。然而,随着数据量的增长和用户需求的提升…

Flutter 边框按钮:OutlinedButton 完全手册与设计最佳实践

目录 1. 引言 2. OutlinedButton 的基本用法 3. 主要属性 3.1 核心属性详解 3.2 ButtonStyle 子属性详解 (styleFrom/copyWith) 状态响应优先级说明 4. 自定义按钮样式 4.1 修改边框颜色和文本颜色 4.2 修改按钮形状 4.3 修改按钮大小 4.4 集中演示 5. 结论 相关推…

【Node.js入门笔记4---fs 目录操作】

Node.js入门笔记4 Node.js---fs 目录操作一、目录操作1.fs.mkdir():创建目录。异步,非阻塞。创建单个目录创建多个目录创建目前之前需要确认是否存在: 2. fs.mkdirSync():用于创建一个新的目录。异步,非阻塞。3.fs.rmd…