Tmux让你开发效率飞起

简介: Tmux让你开发效率飞起


1.简介

你可以将 Tmux 称为一个分屏神器,但这有些以偏概全。因为它既可以有效的管理终端,又可以保存会话。它采用了 C/S 架构,使会话与终端窗口分离。这么说有些难理解,下面举个例子:

正常情况都是打开终端,执行命令;关闭终端,结束会话。当你使用 ssh 远程登录时,如果由于不可抗力因素(比如你女朋友不想让你看电脑,而是陪陪她,然后突然断网...)使得会话中断,再次登录想接着之前的思路,对不起,找不到历史记录了,岂不是尴尬?

Tmux 就是为了解决这一痛点,将会话和终端分离。关闭终端后,会话继续保留,下次打开终端,连接即可。

2.概念

2.1 会话

一个会话可以看做一个进程或者一个服务器,它保留着之前操作的所有信息。

2.2 窗口

进入一个会话后,我们可以创建许多窗口。每个窗口就好像给终端创建了 tab 页,每一个窗口都是一个终端页面。

2.3 面板/窗格

一个窗口,我们可以分为很多个 Panel 。就是将一个终端分为上下左右等小窗格。

如下图,将一个窗口分为左右两个窗格,左边执行项目,右边查看日志。

Tmux 展示图

3.安装

# Ubuntu 或 Debian
$ sudo apt-get install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# Mac
$ brew install tmux

3.1 启动退出

# 启动
$ tmux
# 退出
$ exit

4.常用操作命令总结

它有很多的操作命令,与此同时还提供了各种快捷键,可以根据个人喜欢进行选择。一听见要记快捷键或者命令就头疼,有木有?放心,常用的没几个:

4.1 会话相关

新建一个命名的会话,比如叫 ethanyan_test

tmux new -s ethanyan_test

退出当前会话,但是保留,不杀死会话,为了下次直接连接

tmux detach

下次打开终端窗口,在接入上次会话

tmux at -t ethanyan_test

嫌弃会话的名称太难听了,想改个名字(这次我们使用快捷键方便一点):

Ctrl+b $

解读:进入会话后,按 Ctrl + b,然后再输入 $ 即可更改名字。( $ 就是在英文输入法下,先按 shift 再按键盘字母上面一排的数字 4

使用快捷键的方式,都是先按 Ctrl + b,告诉系统你要输入命令了,就如同 vim 中按 esc 进入命令模式一样,再输入快捷键。

4.2 窗口相关

窗口相关直接使用快捷键就完事了。

Ctrl + b 之后,再按如下的快捷键:

c :创建一个新窗口

w :列出所有窗口,此时可通过方向键和回车键切换选择

, :重命名当前窗口

& :关闭当前窗口

4.3 窗格相关

Ctrl + b 之后,再按如下的快捷键:

方向键 :选择窗格

q :显示窗格编号,然后可以快速按对应数字键选择对应的窗格

z :将当前的窗格全屏或者还原

% :划分为左右两个窗格

" :划分为上下两个窗格

以上的快捷键和命令都是最最常用的,其他网上查到的命令不知道也无妨。

5.vi 命令记录

如果要到「行首」,可以在命令模式下,直接按数字键 0。如果要到「行尾」,按大写的 A ,即 shift + a

5.1 NERDTree 插件的快捷键

o : 打开节点或者打开文件(打开文件的时候,光标会跑到文件中)

go : 打开节点或者打开文件(打开文件的时候,光标在目录树中)

p : 到上级目录

P : 到根目录

: 帮助

q : 关闭

K : 到同级目录的第一个节点

J : 到同级目录的最后一个节点

i : 水平分割预览

s: 垂直分割预览

相关文章
|
iOS开发 MacOS
还在为 iTerm 多窗口操作烦恼?tmux 这款神器轻松帮你解决(下)
粉在之前文章中教过大家如何结合 zsh 让 iterm2 发挥最佳效果。 什么还没有看过?赶紧看下补一下前提知识:收集了这么多实用技巧,帮助你的 iterm2 成为最帅的那个! 上篇文中,阿粉提到每次上线发布的时候,都会打开很多 iTerm 窗口,通过 tab 页拖拽方式让所有窗口可以同时显示。
还在为 iTerm 多窗口操作烦恼?tmux 这款神器轻松帮你解决(下)
|
1月前
|
存储 数据安全/隐私保护
InqureJS:手搓脚手架必备!让你的命令行交互花里胡哨!
【10月更文挑战第5天】InqureJS:手搓脚手架必备!让你的命令行交互花里胡哨!
InqureJS:手搓脚手架必备!让你的命令行交互花里胡哨!
|
2月前
|
Java API Maven
告别漫长重启时代:Quarkus热部署功能让你的代码改动瞬间生效,提升开发效率的秘密武器揭秘!
Quarkus是一款备受开发者青睐的开源框架,以其轻量级、高性能及出色的云适应性著称。其内置的热部署功能让开发者能在不重启应用的情况下实时预览代码修改效果,显著提升开发效率。本文将深入解析Quarkus热部署的工作原理,并通过示例演示如何启用和使用该功能。首先确保已安装Java 11及以上版本和Maven,然后按照指引创建并运行一个Quarkus项目。通过修改RESTful API端点的返回值,我们可以直观地看到热部署带来的即时效果,从而体验到这一功能为开发流程带来的巨大便利。这对于追求高效开发的技术团队而言,无疑是强大的助力。
43 1
|
3月前
|
运维 安全 Linux
【超实用秘籍】Linux文件传输新高度:10个scp命令让你瞬间变身文件传输达人,从此告别繁琐操作!
【8月更文挑战第13天】文件传输是运维工作的核心部分,尤其对Linux用户来说,了解高效且安全的传输方法非常重要。本文介绍10种scp命令的应用技巧,涵盖基础文件传输、密钥认证、目录复制等场景,助你灵活运用这一基于SSH协议的安全工具。从简单的文件传输到复杂的多主机文件迁移,scp都能轻松应对。通过本文的学习,你将能更熟练地使用scp命令,提高工作效能。
229 6
|
3月前
|
架构师 Linux Shell
Linux环境下要想事半功倍,少不了这4个技巧!
Linux环境下要想事半功倍,少不了这4个技巧!
|
11月前
|
IDE Go 开发工具
Goland嗖嗖的: 快捷键,自动生成代码等效率小技巧
Goland嗖嗖的: 快捷键,自动生成代码等效率小技巧
339 0
|
Linux Windows
提高终端生产力神器 - tmux
提高终端生产力神器 - tmux
170 0
|
Shell Linux Windows
忘掉Iterm2,试试这款跨平台终端工具
Mac用户最多的用的就是Iterm2了,windows之前因为丑陋的终端也开发了新的终端工具,很神奇的是,很长一段时间里,都没有一款真正好用的能跨平台的终端工具,直到我发现了hyper。无论Windows、Mac、Debian、Fedora还是其他Linux系统,hyper都能支持。
忘掉Iterm2,试试这款跨平台终端工具
|
算法 Ubuntu Linux
一款超强的终端复用神器 --Tmux介绍与键位配置(超详细)
可以通过自定义的按键在多个终端中自由移动,不需要在抬手移动鼠标(十分的保护手腕但废手指)
625 0
|
Python
Python开发中的两个小常识
Python开发中的两个小常识
81 0