一款超强的终端复用神器 --Tmux介绍与键位配置(超详细)

news2024/11/19 3:40:48

在这里插入图片描述
Halo,这里是Ppeua。平时主要更新C++,数据结构算法,Linux与ROS…感兴趣就关注我bua!

文章目录

  • 1.什么是Tmux?
    • session、windows、pane
  • 2.使用Tmux
    • 2.1安装Tmux
    • 2.2 创建第一个Tmux窗口
    • Session
    • Window
    • Pane
  • 3.Tmux配置
    • 设置为vi的复制粘贴样式
    • 选择pane
    • 调整pane的宽度
    • 通过alt快速切换窗口
    • 新建pane与window为当前工作空间
    • pre+r刷新tmux配置
    • Bar设置
    • 开启鼠标支持
    • 开启鼠标支持
  • 4.Github

在这里插入图片描述

1.什么是Tmux?

在与服务器进行ssh连接的时候,有时会中断了连接,导致当前正在做的任务被迫停止.且任务状态丢失.而tmux可以作为一个进程保存在服务器中,下回登录时可以还原上回的工作状态且其还是一款非常好用的终端复用神器

可以通过自定义的按键在多个终端中自由移动,不需要在抬手移动鼠标(十分的保护手腕但废手指)

在开始之前,我们先了解下Tmux中一个很重要的概念:

session、windows、pane

他们之间的关系可以通过下面这张图来理清

在这里插入图片描述

总而言之:每一个session中可以有多个window,一个window下还可以有多个pane。session是tmux中最大单位

2.使用Tmux

一个正常的页面中可以看到以下几个信息:

在这里插入图片描述

2.1安装Tmux

在Ubuntu中通过

sudo apt-get install tmux

来安装Tmux,安装完成后输入

tmux -V

若显示版本号则表示安装成功。

2.2 创建第一个Tmux窗口

可以使用

tmux kill-server #关闭tmux

Session

可以直接输入tmux,使用默认参数创建一个session

tmux #此时默认session的名字为0

或者使用

tmux new -s target_session_name #创建一个新的名为target_session_name的session
命令效果
tmux kill-session -t target_session_name关闭一个名为target_session的session
tmux ls列出当前所有session
tmux switch -t target_session_name切换到指定的session
tmux rename-session -t old_session new_session重新命名session
tmux a -t target_session_name进入(恢复)指定session

当我们进入Tmux内部的时候,大多数都是用快捷键来进行操作.在tmux中有一个很重要的按键叫做:前缀键(目的是让tmux知道你在对他进行操作.)

默认是ctrl+b 下文对这个按键简称pre

指令效果
pre+?显示所有快捷键
pre+d挂起当前session()
pre+s显示session列表
pre+:进入命令行模式
pre+[进入copy-mode

Window

一个session下可以有多个window

创建一个名为new_window_name的window

tmux new-window -n new_window_name

重命名

tmux rename-window -t old_name new_name
指令效果
pre+c新建窗口
pre+&关闭当前窗口
pre+0~9切换到指定窗口
pre+p切换到上一窗口
pre+n切换到下一窗口
pre+w打开窗口列表,用于且切换窗口
pre+,重命名当前窗口
pre+.修改当前窗口编号(适用于窗口重新排序)

Pane

一个window可以有多个pane

指令效果
pre+"当前面板上下一分为二,下侧新建面板
pre+%当前面板左右一分为二,右侧新建面板
pre+x关闭当前面板(关闭前需输入y or n确认)
pre+z最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)
pre+!将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)
pre+;切换到最后一次使用的面板
pre+q显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
pre+{向前置换当前面板
pre+}向后置换当前面板
pre+方向键移动光标切换面板前缀

3.Tmux配置

在home目录下创建一个.tmux.conf文件

touch .tmux.conf

设置为vi的复制粘贴样式

# mode to vim

set-option -g status-keys vi #将当前按键的模式设置为vi的风格而不是emacs的风格

bind -T copy-mode-vi v send-keys -X begin-selection # vim的选中

bind -T copy-mode-vi y send-keys -X copy-selection #vim的copy

bind-key p pasteb # vim的粘贴

具体的为:使用 pre+[ 进入copy-mode 使用v可以选择文本 y进行复制 pre+p进行粘贴

#更换前置键 为ctrl+a

set-option -g prefix C-a

unbind-key C-b

bind-key C-a send-prefix

选择pane

#通过pre+hjkl进行左上下右选择pane

bind h select-pane -L

bind j select-pane -D

bind k select-pane -U

bind l select-pane -R

#通过alt+上下左右方向键选择pane

bind -n M-Left select-pane -L

bind -n M-Right select-pane -R

bind -n M-Up select-pane -U

bind -n M-Down select-pane -D

-n为不使用pre,M-为alt键

调整pane的宽度

#通过 > < - + 来调整上下左右的宽度

bind -r < resize-pane -L 7

bind -r > resize-pane -R 7

bind -r - resize-pane -D 7

bind -r + resize-pane -U 7

-r表示不用多次输入前置键

通过alt快速切换窗口

bind -n M-1 select-window -t 1

bind -n M-2 select-window -t 2

bind -n M-3 select-window -t 3

bind -n M-4 select-window -t 4

bind -n M-5 select-window -t 5

bind -n M-6 select-window -t 6

bind -n M-7 select-window -t 7

bind -n M-8 select-window -t 8

bind -n M-9 select-window -t 9

bind -n M-p previous-window

bind -n M-n next-window

新建pane与window为当前工作空间

bind ‘"’ split-window -vc “#{pane_current_path}”

bind ‘%’ split-window -hc “#{pane_current_path}”

bind ‘c’ new-window -c “#{pane_current_path}”

pre+r刷新tmux配置

bind r source-file ~/.tmux.conf ; display “Config reloaded…”

Bar设置

set -g status-right “#[fg=green]%H:%M:%S #[fg=magenta]%a %m-%d #[default]” #将日期设置为红色,时间设置为绿色

set -g status-interval 1 #设置时间实时刷新

set -g status-justify centre #将状态栏居中显示

set -g status-bg black # 设置背景色为黑色

set -g status-fg blue # 设置前景色为蓝色

set -g status-bg default #设置状态栏颜色为背景色

set -g status-left " #[fg=green]#S@#H #[default]" #设置状态栏左边的名字#S为当前session名称#H为用户主机名称

set -g status-left-length 20 #设置左边显示长度为20

开启鼠标支持

# mouse support

置背景色为黑色

set -g status-fg blue # 设置前景色为蓝色

set -g status-bg default #设置状态栏颜色为背景色

set -g status-left " #[fg=green]#S@#H #[default]" #设置状态栏左边的名字#S为当前session名称#H为用户主机名称

set -g status-left-length 20 #设置左边显示长度为20

开启鼠标支持

# mouse support

set -g mouse on

4.Github

键位配置文件已上传github:Tmux配置

后续会更新Tmux插件介绍.

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

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

相关文章

解释器模式——自定义语言的实现

1、简介 1.1、文法规则和抽象语法树 解释器模式描述了如何为简单的语言定义一个文法&#xff0c;如何在该语言中表示一个句子&#xff0c;以及如何解释这些句子。在正式分析解释器模式结构之前&#xff0c;先来学习如何表示一个语言的文法规则以及如何构造一棵抽象语法树。 …

windows 同时安装 Mysql 5.7 和8.0

下载链接 https://dev.mysql.com/downloads/mysql/ 推荐下载 MSI&#xff0c;可以通过图像化界面配置 8.1 版本 安装5.7 系统安装两个MySQL 怎么访问 都是mysql&#xff0c;所以环境变量 配置&#xff0c;只能一个生效&#xff0c;生效就是谁靠前谁生效 cmd 录入 services.m…

【LeetCode】647. 回文子串

题目链接 文章目录 1. 思路讲解1.1 方法选择1.2 dp表的创建1.3 状态转移方程1.4 填表顺序 2. 代码实现 1. 思路讲解 1.1 方法选择 这道题我们采用动态规划的解法&#xff0c;倒不是动态规划的解法对于这道题有多好&#xff0c;它并不是最优解。但是&#xff0c;这道题的动态…

给你一个小技巧,解放办公室管理!

电力的稳定供应对于现代社会中的办公室和企业来说至关重要。为了应对这些潜在的问题&#xff0c;许多办公室和企业都采用了不间断电源&#xff08;UPS&#xff09;系统来提供电力备份。UPS可以保持关键设备的运行&#xff0c;确保生产和业务不受干扰。 然而&#xff0c;仅仅安装…

【读书笔记】CHAPTER 1: SCALE FROM ZERO TO MILLIONS OF USERS

如果你有一定工作经验&#xff0c;或者开发项目基础&#xff0c;就看这个图就可以。 一个“从零扩展到数百万用户”系统&#xff0c;基本由上述部分组成&#xff1a; web、app&#xff1a;触达用户的设备&#xff08;页面&#xff09; DNS&#xff1a;用户看到的都是域名(ww…

2023年还能选择前端吗?

前言 在Github2022的 Octoverse年度报告上&#xff0c;稳居最多使用榜首的语言可以看到是JavaScript&#xff0c;作为前端中最为关键的一部分&#xff0c;这说明即使现在&#xff0c;前端这一块仍然是大量的人涌进来&#xff0c;依然是火热&#xff0c;但是&#xff0c;一门语…

【Vue3项目实战】vue3项目配置页面切换过渡动画

文章目录 一、先看效果二、全量代码三、注意事项虽然Vue3支持 template 下存在多个根节点&#xff0c;但是 transition 过渡动画并不支持&#xff0c;要实现过渡动画的页面&#xff0c;都需要有一个根标签包裹页面内容&#xff0c;否则就会报如下警告: 四、相关文章友链本专栏记…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(22)-如何使用Fiddler生成Jmeter脚本-下篇

1.简介 今天这篇文章其实和上一篇差不多也是利用一个fiddler的插件进行Jmeter脚本的导出&#xff0c;开始宏哥想要合在一起写一篇文章&#xff0c;可是结果实践的时候&#xff0c;两个插件还是有区别的&#xff0c;因此为了不绕晕小伙伴或者童鞋们&#xff0c;决定分为两篇进行…

结构思考力-有效提升你的工作效率20倍以上

结构思考力是一种帮助人们察觉并改善自身思考结构的思考艺术&#xff0c;它将人们的思维表达以一种逻辑结构的形式来表示&#xff0c;从而简化人与人之间的沟通成本&#xff0c;提高工作效率。每个人思考问题的方式不同&#xff0c;不同的思考结构使人们的注意力的方向也不同&a…

Linux运维面试题(三)之数据库管理

Linux运维面试题&#xff08;三&#xff09;之数据库管理 1. SQL语句2.集群主从服务器原理主从故障切换单台Mysql达到性能瓶颈时&#xff0c;如何处理 3.索引&#xff08;软优化&#xff09;什么是索引索引的分类劣势&#xff08;优点&#xff1a;效率和减少数据表内排序和随机…

VMWare虚拟系统上网设置及VMWare虚拟机三种工作模式详解

很多网友安装了VMWare虚拟机&#xff0c;但是在虚拟机上网问题上却卡住了。要想虚拟机上网&#xff0c;首先让我们了解一下VMWare虚拟机三种工作模式。现在&#xff0c;让我们一起走近VMWare的三种工作模式。 理解三种工作模式 …

商海风云起 张俪高瀚宇上演巅峰对决《越过山丘》登陆湖北卫视

彩虹与风雨共生&#xff0c;机遇与挑战并存。由沈煜杰执导&#xff0c;张俪、高瀚宇、蒋冰、周奇奇、柳小海、陈牧扬、张杨智子领衔主演的都市励志情感剧《越过山丘》&#xff0c;将于今晚&#xff08;8月2日&#xff09;19:30起&#xff0c;登陆湖北卫视长江剧场。 电视剧《越…

Python系统学习1-2

目录 一、硬件 二、软件&#xff1a;程序文档 三、基础知识 四、python执行过程 五、Pycharm使用技巧 一、硬件 计算机五大部件&#xff1a;运算器&#xff0c;存储器&#xff0c;控制器、输入设备&#xff0c;输出设备。 运算器和控制器 集成在CPU中。 存储&#xff1a…

省份数量(力扣)深度优先 JAVA

有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市c 间接相连。 省份 是一组直接或间接相连的城市&#xff0c;组内不含其他没有相连的城市。 给你一个 …

python项目开发案例集锦,python项目案例代码

这篇文章主要介绍了python项目开发案例集锦(全彩版)&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 前言 22个通过Python构建的项目&#xff0c;以此来学习Python编程。 ① 骰…

2023年华数杯建模思路 - 案例:随机森林

## 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是随机森林&#xff1f; 随机森林属于 集成学习 中的 Bagging&#xff08;Bootstrap AGgregation 的简称&#xff09; 方法。如果用图来表示他们之…

vue 3.0 + element-ui MessageBox弹出框的 让文本框显示文字 placeholder

inputPlaceholder:请填写理由, 方法实现如下: this.$prompt(, 是否确认&#xff1f;, { confirmButtonText: 确定, cancelButtonText: 取消, inputPlaceholder:请填写理由, }).then(({ value }) > { if(value null || value ""){ Message({message: 请填…

贝塞尔曲线

贝塞尔曲线于 1962 年&#xff0c;由法国工程师皮埃尔贝济埃&#xff08;Pierre Bzier&#xff09;所广泛发表&#xff0c;他运用贝塞尔曲线来为汽车的主体进行设计,贝塞尔曲线最初由保尔德卡斯特里奥于1959年运用德卡斯特里奥算法开发&#xff0c;以稳定数值的方法求出贝塞尔曲…

Centos7 安装yum

1、检查主机名和网络并且配置/etc/hosts文件 查看主机名&#xff1a;hostname 查看ip :ifconfig vi /etc/hosts//添加把主机名和IP配置进去hosts文件192.18.56.111 orcale12c2、关闭防火墙 systemctl status firewalld.service//检查防火墙状态 暂时关闭防火墙&#xff0c;下…

零售行业提高效率的有效技巧!赶紧get

在当今快节奏和数字化的时代&#xff0c;零售业正经历着深刻的变革和创新。新零售模式的兴起正以前所未有的速度改变着传统零售的面貌。其中&#xff0c;自动售货机作为新零售模式的重要代表之一&#xff0c;正以其便捷、高效、数字化的特点&#xff0c;成为越来越多消费者喜爱…