在git-bash使用Tmux
时间:2020-04-28
本文章向大家介绍在git-bash使用Tmux,主要包括在git-bash使用Tmux使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在git-bash使用Tmux
以提取出来的Tmux的Windows版本为基础,我们可以配置在git-bash中使用Tmux来高效工作。
Tmux介绍
Tmux是个窗口管理器,Tmux负责管理和保存命令行窗口。使用Tmux有很多好处,主要有以下两点:
- 远程服务器上持久地保存工作状态。
比如,我在本地或服务器做某项工作,需要在Terminal打开几个窗口。每次换工作,还需要切换。用Tmux,便可以按照Session进行管理,每次轻松打开切换。如果Tmux保存在远端服务器,这点尤为方便。
- 随时随地断开或连接Session。比如,在服务器上面运行一条命令,但是担心连接断开后命令终止,此时在tmux中运行命令,此时断网关机便问题不大,只需随后恢复Session便可以。
tmux基本架构
tmux是由Session
组成;一个Session可以包含多个window;一个window可以包含多个pane。
所谓pane,就是经常看到的,把一个window横向或者纵向分割成多块,每块就是一个pane。这些pane一起组成了一个window。
tmux安装
安装方法参见这个Github连接。Tmux
目录下有两个文件,复制到git-bash下对应的的usr/bin
和usr/share
文件夹即可。
tmux基本配置
# 开启鼠标模式
set-option -g mouse on
# 允许鼠标选择窗格
# set -g mouse-select-pane on
# 如果喜欢给窗口自定义命名,那么需要关闭窗口的自动命名
set-option -g allow-rename off
# 如果对 vim 比较熟悉,可以将 copy mode 的快捷键换成 vi 模式
set-window-option -g mode-keys vi
这上面只是一些基本配置。之前的GitHub仓库中,在tmux
目录下是有作者自己的.tmux.conf
配置文件的。按需取用,因为这个配置需要配合插件使用。
通用命令
# 以下命令可以关闭session,window,pane。
ctrl + d
exit
Prefix + x
tmux kill-session -t [name]
tmux kill-window -t [name]
tmux kill-pane -t [name]
# 上面的 name 可以用系统自动分配的 0, 1...来代替。比如 pane 就是用这样的数字来区分的。
Seesion常用命令
Tmux为了防止与全局快捷键冲突,大部分快捷键需要先需要输入前缀Ctrl + b,下文用Prefix代替。
# 创建&进入一个session
tmux new # 不指定session name
tmux new -s [session-name]
# 断开(detach)Session
tmux detach
Prefix d # 要和 ctrl + d 区分
# 恢复Session
tmux a
tmux a -t [session-name]
# 列出当前Session
tmux ls # tmux外使用
Prefix s # tmux 内使用,这条命令不够详细;可以使用
Prefix w # 完全显示 session + window的详细信息
# 重命名Session,在tmux内使用
Prefix $
window常用命令
# 创建
Prefix c
# 选择窗口
# 这个可以不用记,prefix+S 选择窗口也很方便
Prefix + [number] # 选择第n个窗口
Prefix + p/n # 前/后一个窗口
# 关闭窗口;只记exit即可
Prefix &
exit
# 列出所有window(包含其他Session)
# 这和prefix+s的区别是:会自动展开所有session下的Windows。
Prefix w
h/l # 打开/关闭session的详情页
j/k # 前后选择
# 搜索窗口
Prefix f
# 重命名当前窗口
Prefix ,
pane常用命令
# 创建
Prefix % # 水平窗格,最常用;也就是左右两格
Prefix '"' # 垂直窗格,上下两格
# 切换
# 如果在配置文件中打开了鼠标点击切换的话,就可以直接用鼠标
# 但是如果是纯命令行,就需要使用了
Prefix o # 在窗格间切换
Prefix q # 显示窗格编号,输入编号切换
# 将当前窗格,在一个新窗口打开
# 这会在当前session下新建一个窗口
Prefix !
总结
这些命令经常使用,自然就记住了。
原文地址:https://www.cnblogs.com/rongyupan/p/12794536.html
- HTML5 直播协议之 WebSocket 和 MSE
- IoC在ASP.NET Web API中的应用
- 跟鹅厂老司机学技术之一:“遇见” Kotlin
- 简单的 H5 视频推流解决方案
- 来腾讯云开发者实验室学习.NET
- 跨域资源共享(CORS)在ASP.NET Web API中是如何实现的?
- 使用腾讯云 GPU 学习深度学习系列之六:物体的识别与定位
- npm5 新版功能特性解析及与 yarn 评测对比
- H5直播避坑指南
- 龙门阵之 DevOps 门外汉须知
- 全面进阶 H5 直播(上)
- 这年头,不会斗图都毕不了业?
- 龙妈也会死?《权力的游戏》 AI 算法预测丹妮女王危在旦夕
- 腾讯云 GAME-TECH 沙龙干货回顾:海外网络拓展及质量把控
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux设备树语法详解
- 【Mysql进阶-2】图文并茂说尽Mysql索引
- 1.8W字|了不起的 TypeScript 入门教程(第二版)
- 【Mysql进阶-3】大量实例悟透EXPLAIN与慢查询
- 基于helium自动化测试的方法进行代码仓库梳理和备份
- 【SpringBoot注解-5】web项目相关注解
- rxjs里的Observable对象如何消费
- 正则表达式入门
- (在模仿中精进数据可视化02) 温室气体排放来源可视化
- ROS机器人URDF建模
- 这是我见过最牛逼的Shell,619行代码!
- 设计模式(五):利用原型模式复制几个葫芦娃
- Vue中数组变动监听
- which命令
- 如何将tensorflow1.x代码改写为pytorch代码(以图注意力网络(GAT)为例)