tmux和vim
- Linux
- 2024-04-11
- 618热度
- 0评论
前言
由于看的教程为ACWing的Linux基础课,所以用的命令为yxc老师自定义的命令,主要为改动 ctrl + b 改成了 ctrl + a,以及一些常用的指令.如果要更改tmux的快捷键,可以修改Tmux的配置文件 ~/.tmux.conf.
一、tmux是什么?
1.1 概念
tmux是一个终端复用器(terminal multiplexer),指终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件 .
1.2 tmux的主要作用
- 分屏(将屏幕分为多个)
- 允许断开Terminal终端连接后,可以继续运行进程.
二、tmux的基本用法
2.1 tmux的单元模块
tmux可以在终端端口同时运行多个会话,可以在会话中划分窗口和面板,实现多任务的管理和切换 .这些会话(session)、窗口(window)、面板(panel)可以理解为tmux的单元.
名称 | 作用 |
---|---|
tmux | 输入tmux指令时就开启了一个服务器 |
session | 会话,一个服务器可以包含多个对话,也相当于开启一个进程 |
window | 窗口,一个会话有多个窗口 |
panel | 面板,一个窗口有多个面板 |
shell | shell对话框,一个面板对应一个shell对话框 |
表格对应的相关的图片如下
2.2 tmux相关的指令
- tmux :新建一个session对应一个进程,也随之创建一个window,创建一个panel.
- tmux ls:列出所有的终端列表
- tmux a:打开刚挂起的session会话进程
- ctrl a:组合键.
组合键 | 作用 |
---|---|
d | 将当前的session挂起 |
% | 将当前panel左右分为两个panel |
" | 将当前panel上下分为两个panel |
s | 列出所有的会话,即列出所有的session |
w | 列出所有的窗口,即列出所有的window |
c | 创建一个新窗口 |
z | 将当前窗口全屏 |
方向键 | 切换到其他的窗口 |
- ctrl d:关闭当前panel,如果当前window的所有panel都关闭,则window也随之关闭,如果当前的session的所有window都关闭,则session也随之关闭.
三、Vim是什么?
3.1 vim的概念
Linux的vim是由vi发展出来的一个强大的文本编译器,它有多种模式,可以进行高效的文本操作和编程.
使用方式:vim filename,如果已有的该文件,则直接打开,否则就直接创建并打开该文件.
3.2 vim的三种模式
基本上vi/vim共分为三种模式,分别是命令模式(Command mode),输入模式(也称编辑模式Insert mode)和底线命令模式(又称末行模式Last in mode),三种模式的切换如下图所示:
3.2.1 命令模式
刚启动vi/vim,便进入了进入了命令模式,此模式下点击键盘会被识别为命令,而非输入的字符.
以下就是命令模式下常用的几个命令:
命令 | 作用 |
---|---|
i | 切换到输入模式,能够对文本进行编辑 |
gg | 移动到文件头 |
G(shift + g) 或 Home | 移动到文件尾 |
^(shift + 6) 或 End | 移动到行首 |
$(shift + 4) | 移动到行尾 |
<center n space(空格) | n表示数字,移动到当前行的第几个数字 |
v | 选中文本 |
d | 删除选中文本 |
dd | 删除当前行 |
y | 复制选中文本 |
yy | 复制当前行 |
p | 将复制的数据在光标的下一行/下一个进行粘贴 |
u | 撤销上一命令 |
大于号 | 将选择的文本整体向右缩进一次 |
小于号 < | 将选择的文本整体向左缩进一次 |
gg=G | 将全文代码格式化 |
3.2.2 底线命令模式
在命令模式下按下 : / ?
三个字母中的任意一个,就会进入底线命令模式(在界面的最下方),底线命令模式可以输入单个或多个字符.在底线命令模式中,基本的命令有如下几个常用命令(省略了":")
命令 | 作用 |
---|---|
:q | 退出vim模式 |
:w | 保存文件 |
:wq | 保存文件并退出 |
:q! | 不保存强制退出 |
:wq! | 保存后强制退出 |
:set paste! | 设置为粘贴模式,取消代码自动缩进 |
:set nopaste | 取消粘贴模式,开启代码自动缩进 |
:set no | 显示行号 |
:set nonu | 隐藏行号 |
:set noh | 关闭查找关键词高亮 |
:n | 移动到第n行 |
:n1,n2s/word1/word2/g | 将n1行到n2行的word1换成word2 |
:n1,$s/word1/word2/g | 将全文的所有word1换成word2 |
:n1,$s/word1/word2/gc | 将全文的所有word1换成word2,替换之前需要用户确认 |
/word | 当前光标下寻找第一个为word的单词 |
?word | 当前光标上寻找第一个为word的单词 |
3.2.3 输入模式
在命令模式下按下i, o, a
等字符就进入了输入模式,当进入输入模式时,左下角会有Insert字样,表示已经进入了输入模式了.
在输入模式中按下ESC按键,就会退出输入模式,返回到一般命令模式.
四、总结
这些tmux指令就像我们打游戏放技能一样,不必要记住,熟能生巧,如果忘记了就在看一遍游戏手册(指令)就行了