tmux和vim

前言

由于看的教程为ACWing的Linux基础课,所以用的命令为yxc老师自定义的命令,主要为改动 ctrl + b 改成了 ctrl + a,以及一些常用的指令.如果要更改tmux的快捷键,可以修改Tmux的配置文件 ~/.tmux.conf.

一、tmux是什么?

1.1 概念

tmux是一个终端复用器(terminal multiplexer),指终端登录远程主机并运行后,在其中可以开启多个控制台终端复用软件 .

1.2 tmux的主要作用

  1. 分屏(将屏幕分为多个)
  2. 允许断开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指令就像我们打游戏放技能一样,不必要记住,熟能生巧,如果忘记了就在看一遍游戏手册(指令)就行了