0


tmux和vim精简教程(非常详细实用!)

tmux

tmux(Terminal Multiplexer)是一个终端复用器,它允许你在一个单一终端窗口内运行和管理多个终端会话。通过tmux,我们可以创建、访问和控制多个终端窗口,并在这些窗口之间自由切换。这对于远程工作、管理多个任务和长期运行的任务非常有用。

1、安装 tmux

在 Ubuntu 上安装 tmux :

  1. 更新包列表:sudoapt update
  2. 安装 tmux:sudoaptinstall tmux
  3. 配置 tmux:编辑 ~/.tmux.conf, 可以对 tmux 进行设置, 比如: 默认tmux 是不支持鼠标滚动显示内容, 鼠标选择对应的窗格, 不只是拉动分割线调整窗格大小的##### 步骤 1:编辑 ~/.tmux.confnano ~/.tmux.conf##### 步骤 2:修改内容这里我们把 tmux 默认的前缀按 修改成了 ctrl + a, 默认是 ctrl + b (个人习惯ctrl + a比较容易按, 感觉)。 下面讲的命令当中 ctrl + a 默认是 ctrl + b``````# 设置新的前缀键为 Ctrl + aunbind C-bset-option -g prefix C-abind-key C-a send-prefix# 启用鼠标支持set-g mouse onset-g default-terminal "screen-256color"##### 步骤3: 重新加载 tmux 配置tmux source-file ~/.tmux.conf

2、tmux 的结构

tmux 包括三个部分

Session(会话)

定义

  • 会话 是 tmux 的最顶层容器。它代表了一个独立的终端环境,可以包含多个窗口。
  • 每个会话都是独立的,意味着你可以在不同的会话之间切换,每个会话可以有自己的窗口和窗格。

特点

  • 会话可以在后台运行,允许你在会话中断开连接后仍然保留其状态,稍后可以重新连接。
  • 在一个会话中,可以运行不同的任务或程序,每个会话可以配置不同的工作环境。
Window(窗口)

定义

  • 窗口 是会话中的一个虚拟终端。每个窗口可以视为一个独立的工作区域,类似于你在一个终端中打开的不同标签页。
  • 一个会话可以包含多个窗口,每个窗口可以显示不同的终端会话或任务。

特点

  • 窗口之间可以快速切换,使你可以在同一个会话中方便地切换不同的工作任务。
  • 每个窗口都有自己的独立终端会话和命令行环境。
Pane(窗格)

定义

  • 窗格 是窗口中的子区域。一个窗口可以被分割成多个窗格,允许你在同一个窗口中并排显示多个终端会话。
  • 窗格可以通过水平或垂直分割来创建,从而在一个窗口中同时显示多个窗格。

特点

  • 每个窗格可以运行独立的程序或命令,使你可以在同一个窗口中同时处理多个任务。
  • 窗格的分割和调整使你可以更高效地利用屏幕空间。
关系
  1. 会话包含窗口:- 一个 tmux 会话可以包含多个窗口。会话是所有窗口的容器,你可以在一个会话中创建、删除或切换窗口。
  2. 窗口包含窗格:- 每个窗口可以被分割成多个窗格。窗格是窗口的组成部分,你可以在窗口中创建、调整和关闭窗格。
  3. 会话 → 窗口 → 窗格:- 一个会话可以包含多个窗口,每个窗口可以包含多个窗格。这样的层级结构允许你在一个 tmux 实例中组织和管理多个任务和工作环境。
总结
  • 会话 是 tmux 的最顶层结构,包含了多个窗口。(会话可以不止一个,可以创建多个会话)
  • 窗口 是会话中的独立工作区域,可以进一步分割成多个窗格。
  • 窗格 是窗口中的子区域,允许在同一个窗口中并排显示多个终端会话。
  1. +---------------------------------------------------------+
  2. | Session ||(会话)|||| +---------------------+ +---------------------+ ||| Window 1|| Window 2||||(窗口 1)||(窗口 2)|||||||||| +-------------+ || +-------------+ ||||| Pane 1|||| Pane 3||||||(窗格 1)||||(窗格 3)||||| +-------------+ || +-------------+ |||| +-------------+ || +-------------+ ||||| Pane 2|||| Pane 4||||||(窗格 2)||||(窗格 4)||||| +-------------+ || +-------------+ ||| +---------------------+ +---------------------+ |||
  3. +---------------------------------------------------------+

2、tmux常用命令

启动 tmux

打开终端,输入以下命令启动 tmux 会话:

  1. tmux
  2. # 这将启动一个新的 tmux 会话,并自动进入该会话。# 默认会创建一个 session 、 一个 window 、 一个 pane。 输入 `tmux` 后进入的是 pane。# 当 当前widow的所有pane都关闭的时候, 当前的window会自动关闭, 当 当前session的所有window都关闭时 当前的session会自动关闭

窗格管理

  • 将窗口拆分为上下两个窗格:Ctrl + a 然后按 "
  • 将窗口拆分为左右两个窗格:Ctrl + a 然后按 %
  • 在窗格之间切换:Ctrl + a 然后按箭头键
  • 关闭当前窗格:Ctrl + d
  • 复制窗格内容1. 进入复制模式: Ctrl + a 然后按 [2. 使用箭头键移动光标,选择要复制的文本。可以使用 `Shift + 箭头键` 来选择多行内容。3. 按下 `Enter` 键以复制选定的文本。4. 在其他位置粘贴文本: Ctrl + a 然后按 ]
  • 全屏 当前窗格 和 退出 当前窗格Ctrl + a 然后按 z

会话管理

  • 挂起当前会话Ctrl + a 然后按下 d
  • 选择性的打开挂起的会话Ctrl + a 然后按 s← → 分别控制 展开和折叠↑ ↓ 分别控制 上下移动

(下面的命令是在终端中输入)

  • 打开之前的会话tmux a
  • 创建一个session# 这将创建一个名字叫 mysession 的session, 并进入到这个session中tmux new-session -s mysession# 这将创建一个名字叫 mysession 的session, 但不进入到这个session中tmux new-session -s mysession -dtmux new-session -d-s mysession
  • 显示所有的 sessiontmux ls
  • 进入指定的 sessiontmux attach-session -t sessionname
  • 关闭指定的 sessiontmux kill-session -t sessionname
  • 关闭所有的 sessiontmux kill-service

以上就是

  1. tmux

常用的命令,还有一些是对 窗口的操作, 但是不常用,当我们需要在一个 session 中开多个窗口的时候,完全可以再创建一个 session。

vim

  1. vim

(Vi IMproved)是一个强大的文本编辑器,它基于经典的

  1. vi

编辑器,并增加了许多功能和改进。

1. 基础概念

  • 模式vim 有几种模式,最常用的是正常模式(Normal Mode)、插入模式(Insert Mode)、命令行模式(Command-Line Mode)。 - 正常模式:这是 vim 的默认模式,你可以在此模式下进行文本导航和执行命令。- 插入模式:在此模式下,你可以像在普通文本编辑器中一样输入和编辑文本。在正常模式下按 iIaA 等键进入插入模式。- 命令行模式:在此模式下,你可以输入命令以执行各种操作。在正常模式下按 :?\ 进入命令行模式。

模式切换

  • 从 正常模式 进入 插入模式 :按 iIaA
  • 从 正常模式 进入 命令行模式 :按 :/?
  • 从 插入模式 返回 正常模式 :按 Esc
  • 从 命令行模式 返回 正常模式 :按 Enter 执行命令或 Esc 取消命令。

它们的关系如图所示:

  1. +-------------------+
  2. ||| 正常模式 ||(Normal Mode)||(默认)|
  3. +----+----------+----+
  4. / \
  5. i a A : /
  6. / \
  7. +--------v--------+ +--------v--------+
  8. ||||| 插入模式 || 命令行模式 ||(Insert Mode)||(Command-Line |||| Mode)|
  9. +--------+--------+ +--------+--------+
  10. \ /
  11. Esc Esc
  12. \ /
  13. +----v-----+----+
  14. ||| 正常模式 ||(Normal || Mode)|
  15. +----------------+

1. 基础操作

1.1、光标

移动光标

  1. h j k l: 分别控制 左右上下
  2. →: 分别控制 上下左右
  3. 下面这些都是正常模式下可用:
  4. n<space>: 按下任意数字, 然后按下 space, 光标向后移动 n 位。()
  5. home 0: 光标移动到本行开头
  6. end $: 光标移动到本行结尾
  7. G: 光标移动到最后一行开头
  8. gg: 光标移动到第一行开头
  9. n<G>: 按下任意数字n 然后按下 G, 光标移动到第n行开头, 第一行是 1G
  10. n<Enter>: 按下任意数字n 然后按下 Enter, 光标向下移动到n

查找字符串

  1. 正常模式下输入 "/""?" 进入命令行模式, 然后输入 word, 回车,全文搜索匹配 "word" 字符串
  2. /word: 向光标之下查找匹配word的字符串
  3. ?word: 向光标之上查找匹配word的字符串
  4. n: 查看下一个匹配"word"的字符串
  5. N: 查看上一个匹配"word"的字符串
1.2、操作文本
  1. v: 按下 v, 然后移动光标, 会选中文本
  2. d: 删除选中内容,同时会复制到剪切板
  3. dd: 删除光标所在的一整行,同时会复制到剪切板
  4. gg d G: 删除所有内容。(按下 gg 光标移动到第一行开头, 按下 d 开始删除, 按下 G 光标移动到最后一行开头), 当然你也可以用"gg v G d"
  5. y: 复制选中内容
  6. yy: 复制光标所在的一整行
  7. p: 将剪切板的内容粘贴到 光标的下一个位置 光标所在行的下一行
  8. u: 撤销
  9. Ctrl + r: 取消撤销
  10. Shift + >: 将所选内容向右移
  11. Shift + <: 将所选内容向左移
  12. :w : 保存
  13. :q : 退出
  14. :wq : 保存退出
  15. :wq!: 强制保存退出
1.3、其他
  1. :set nu : 显示行号
  2. :set nonu : 不显示行号
  3. gg = G : 格式化全部代码。 (按下gg回到开头, = 格式化代码, G回到最后一行)==: 格式化光标所在行的代码
  4. :set hlsearch
  5. :noh : 关闭查找关键词高亮
  6. Ctrl + q: 取消当前正在执行的命令
  7. :set paste: 设置成粘贴模式
  8. :set nopaste : 取消粘贴模式

2. 配置文件

以下是一个常用的

  1. vim

配置文件内容示例,这些配置可以提升

  1. vim

的使用体验。

你可以在用户的根目录下创建

  1. ~/.vimrc

文件, 然后把下面内容粘贴进去就行了

  1. # 输入下面命令, 然后右键把 vimrc 内容粘贴进来vim ~/.vimrc
  2. # 粘贴shift + insert
  3. # 保存退出
  4. 命令行模式下 :wq

.vimrc 文件内容

  1. set nocompatible " 禁用与 Vi 的兼容模式
  2. set number " 显示行号
  3. set tabstop=4 " Tab 停止位为 4 个空格
  4. set shiftwidth=4 " 缩进宽度为 4 个空格
  5. set expandtab " 将 Tab 转换为空格
  6. set autoindent " 自动缩进
  7. set smartindent " 智能缩进
  8. set cursorline " 高亮当前行
  9. set hlsearch " 高亮搜索结果
  10. set incsearch " 实时显示搜索结果
  11. set ignorecase " 忽略搜索时大小写
  12. set smartcase " 大写字母区分大小写
  13. set encoding=utf-8
  14. set fileencoding=utf-8
标签: vim 编辑器 linux

本文转载自: https://blog.csdn.net/m0_74065705/article/details/140851784
版权归原作者 小程xy 所有, 如有侵权,请联系我们删除。

“tmux和vim精简教程(非常详细实用!)”的评论:

还没有评论