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: 垂直分割预览

相关文章
|
8月前
|
人工智能 自然语言处理 安全
如何利用FuncGPT告别繁琐的开源代码调试
作为一名开发人员,您是否曾经在浩如烟海的开源社区中搜索代码,然后花费大量时间测试、调试,最后才发现这些代码并不符合您的需求?专注Java生成AI函数的FuncGPT(慧函数)就像您的私人编程助手,只需输入你的需求,就能提供符合要求的函数,让你告别繁琐的搜索、测试和调试,迈向高效的开发之旅。
|
iOS开发 MacOS
还在为 iTerm 多窗口操作烦恼?tmux 这款神器轻松帮你解决(下)
粉在之前文章中教过大家如何结合 zsh 让 iterm2 发挥最佳效果。 什么还没有看过?赶紧看下补一下前提知识:收集了这么多实用技巧,帮助你的 iterm2 成为最帅的那个! 上篇文中,阿粉提到每次上线发布的时候,都会打开很多 iTerm 窗口,通过 tab 页拖拽方式让所有窗口可以同时显示。
还在为 iTerm 多窗口操作烦恼?tmux 这款神器轻松帮你解决(下)
|
9月前
|
存储 JSON Kubernetes
证书管理工具 cfssl 浅尝
证书管理工具 cfssl 浅尝
180 0
|
5月前
|
IDE Go 开发工具
Goland嗖嗖的: 快捷键,自动生成代码等效率小技巧
Goland嗖嗖的: 快捷键,自动生成代码等效率小技巧
157 0
|
6月前
|
Linux Windows
提高终端生产力神器 - tmux
提高终端生产力神器 - tmux
92 0
|
9月前
|
JavaScript 测试技术
软件测试|web自动化测试神器playwright教程(三十五)
软件测试|web自动化测试神器playwright教程(三十五)
187 0
|
9月前
|
测试技术
软件测试|web自动化测试神器playwright教程(三十)
软件测试|web自动化测试神器playwright教程(三十)
100 0
|
9月前
|
测试技术
软件测试|web自动化测试神器playwright教程(二十九)
软件测试|web自动化测试神器playwright教程(二十九)
87 0
|
10月前
|
测试技术
软件测试|web自动化测试神器playwright教程(十九)
软件测试|web自动化测试神器playwright教程(十九)
117 0
软件测试|web自动化测试神器playwright教程(十九)
|
监控 前端开发 jenkins
我用这一招让团队的开发效率提升了 100%!
我在一家做微信营销的公司干技术 leader,带 40 多个人,公司名就不说了。在这个位置上做了好几年,把团队从小带大,公司虽然不算风口浪尖上的高增长业务,但技术这块儿也从来没出过什么问题,我还是蛮自豪的。