当前位置: 首页 > news >正文

【Vim Masterclass 笔记01】Section 1:Course Overview + Section 2:Vim Quickstart

文章目录

  • Section 1:Course Introduction 课程概述
    • S01L01 Course Overview 课程简介
      • 课程概要
    • S01L02 Course Download 课程资源下载
    • S01L03 What Vim Is and Why You Should Learn It 何为 Vim?学来干啥?
      • 1 何为 Vim
      • 2 为何学 Vim
  • Section 2:Vim Quickstart 快速上手 Vim
    • S02L04 Modes(Vim 的模式)
    • S02L05 Vim Quickstart:Vim 快速上手
    • S02L06 Exercise 01 Creating and Editing a New File with Vim
      • 1 训练目标
      • 2 操作指令
        • 1 创建文件
        • 2 启用插入模式
        • 3 给文件添加些文字
        • 4 继续添加文字内容
        • 5 保存文件
        • 6 验证文件已保存
    • S02L07 Exercise 01 Creating and Editing a New File with Vim - Walkthrough(练习01点评)

【写在前面】
从这一篇开始,我将陆续把 Udemy 上的《Vim Masterclass》的学习笔记整理出来放到对应的专栏中,一来可以巩固所学方便查找,二来对于有 Vim 学习需求的朋友也可以作为参考快速上手。在我看来,Vim 就像榴莲,爱之者为其疯狂,恨之者避恐不及。为了解放生产力,花点时间琢磨一下 Vim 还是很有必要的。

Section 1:Course Introduction 课程概述


S01L01 Course Overview 课程简介

课程概要

  1. 快速上手:一个简单的 Vim 练习(最基础)
  2. 以 Vim 特有的方式思考问题
  3. 转换与替换(Transformations & Substitutions):从简单替换入手,进而实现在多个文件中全局替换
  4. Vim 高级功能
    1. 文本对象(Text objects)
    2. 宏(Macros)
  5. Vim 的设置与自定义配置
  6. Vim 图形界面简介

课程使用的 Vim 版本:v8.0


S01L02 Course Download 课程资源下载

通过命令行解压课程源码包:

# unzip -d <path> zipFile
$ unzip -d vimclass vimclass.zip

解压时,目标文件夹若不存在,则会自动创建。

源码包:已上传 CSDN 下载频道,也可从百度网盘下载:vimclass.zip,提取码:i4ya


S01L03 What Vim Is and Why You Should Learn It 何为 Vim?学来干啥?

1 何为 Vim

Vim 是一款高级文本编辑器。

Vim 名称由来 ——

Vim = Vi + Improved

vi 其实是 visual 的缩写。

vi 已被 Vim 事实上取代。

2 为何学 Vim

  1. Vim 无处不在
  2. 功能强大(宏、寄存器、命令、重复、自动补全、文本对象、查询筛选工具、全局替换……)
  3. Vim 的知识点高度 可迁移:将 Vim 集成到 bash 命令行、Gmail 邮箱、定制插件等
    1. 支持 Vim 快捷键的工具:AtomEclipseAbiwordKateSublime TextNotepad++XCode……
  4. 跨平台
  5. Vim 同时支持文字界面(TUI)与图形界面(GUI)
  6. 语法高亮:美观、便于调试(支持各种格式配置文件)
  7. 命令方便识记(i = insert, q = quit, d = delete)
  8. Vim 更像一门语言(d3w: delete 3 words)
  9. 文档极其全面(Vim is thoroughly documented)
  10. 有趣

Section 2:Vim Quickstart 快速上手 Vim

S02L04 Modes(Vim 的模式)

Vim 三大模式:

  • Normal / Command mode:正常模式(命令模式)
  • Insert mode:插入模式
  • Command-line / cmdline / line mode:命令行模式(单行模式)

说明

实测时,通过查看内置帮助文档(使用 :help intro)得知,Ubuntu 上的 Vim 版本为 8.1.2269。此时支持的 Vim 基本模式已增至 7 种:

  1. Normal
  2. Visual
  3. Select
  4. Insert
  5. Command-line / Cmdline
  6. Ex
  7. Terminal-Job

Vim has 7 modes now (v8.1.2269)


S02L05 Vim Quickstart:Vim 快速上手

打开一个命令行会话:

  • Mac OS:Spotlight ➡️ “terminal” ➡️ “vim”
  • Windows:搜索栏 ➡️ “commandline”(“命令提示符”) ➡️ “vim”

Vim 的关闭::q!Enter

进入输入模式:(正常模式下)i

退出输入模式:Esc

保存并退出 Vim:(正常模式下):wqEnter

  • w:write,写入、保存
  • q:quit,退出

S02L06 Exercise 01 Creating and Editing a New File with Vim

1 训练目标

  • 练习用 Vim 创建文件、编辑文件。
  • 练习 Vim 三大模式的切换:常规模式(normal mode)、插入模式(insert mode)、命令行模式(commandline / cmdline / line mode

练习过程中,您将使用 Vim 创建一个新文件,并输入一些内容,最后保存。1

2 操作指令

1 创建文件

先在本地打开一个命令行会话,再用 Vim 编辑一个名为 myday.txt 的新文件。在命令行输入 vim myday.txt,按回车键 Enter 确认:

vim myday.txt
2 启用插入模式

这样就打开了一个新文件,并处在 Vim 的常规模式(normal mode)下。按下小写的 I 键进入插入模式(insert mode)

3 给文件添加些文字

接下来输入一些内容。比如写几句话来描述您一天的开始。输入过程中如果写错了,可以用退格键 Backspace 进行更正。

4 继续添加文字内容

继续向文件添加文本,输入三件让您心怀感激的事物。写完后,按 Esc 键返回常规模式。

5 保存文件

接着保存您的变更内容。这需要在常规模式下进行。若不确定是否在常规模式,可以再按一次 Esc 键进行确认。下一步,输入 :wq + Enter 保存文件并退出 Vim

6 验证文件已保存

您可以通过查看文件内容来确认是否已经保存成功。比如使用 Vim 编辑器打开该文件:输入 vim myday.txt + Enter 即可:

vim myday.txt

这样就能看到您输入并保存到文件中的内容。由于未做任何修改,也没有什么需要保存的变更内容,直接使用 :q! + Enter 键退出即可。


S02L07 Exercise 01 Creating and Editing a New File with Vim - Walkthrough(练习01点评)

本节为 L06 的讲解课(walkthrough)。

要求:必须动手练习。

:q! 中的 ! 表示放弃更改。

Git 命令 DIY

提交 git 的版本通常很固定:git add *; git commit -m 'some comments'; git push,虽然 Windows Terminal 中可以配置 PowerShell 的历史命令,但总要切到中间修改注释信息,时间一长感觉不太高效。如果有个自定义命令,把提交注释放到最后,就会方便很多:

$ git diyCmd 'some comment'

于是尝试用 git 别名:(acpaddcommitpush 的缩写)

$ git config --global alias.acp '!git add * && git commit -m \"$1\" && git push'

但这样配置后,前两个命令能正常运行,但 git push 始终会把我的注释内容理解成要推送的目标分支。为了让 git push 忽略最后的注释,再尝试:

$ git config --global alias.acp '!git add * && git commit -m \"$1\" && git push # '

就是说,让后面的参数在执行时变成一段 shell 脚本注释。经测试,果然能行。以后类似的情况都能应对了。

其实这个别名的第一版是问的 ChatGPT,但 git push 报错后,ChatGPT 分析原因为“Git 不支持在别名中直接传递参数”,建议我通过 .bat 批处理任务实现。试了几次,好歹调通了:

# file path: {GIT_HOME}\cmd\git-acp.bat
@echo off
git add *
git commit -m %1
git push

但这样写效率很低:又要创建文件,又要配置环境变量,运行的格式还必须是 git-acp 'some comment',后面要修改命令更麻烦,没法使用 git 的内置命令。这样写还不如写成 PowerShell 的脚本:

# git-acp.ps1
param([string]$Comment = ""
)
cd "$(pwd)"
git add *
git commit -m "diy commit: $Comment"
git push

感觉越来越跑偏了……本来加个 <空格>#<空格> 就解决的,被 ChatGPT 这么一带就搞错大方向了。可见提高效率的关键还是在于自己的思考和积累。


  1. 本节练习另附精美排版 PDF 格式,阅读体验更佳,详见:vimclass/Exercise-01-CreatingandEditingaNewFilewithVim.pdf ↩︎

相关文章:

【Vim Masterclass 笔记01】Section 1:Course Overview + Section 2:Vim Quickstart

文章目录 Section 1&#xff1a;Course Introduction 课程概述S01L01 Course Overview 课程简介课程概要 S01L02 Course Download 课程资源下载S01L03 What Vim Is and Why You Should Learn It 何为 Vim&#xff1f;学来干啥&#xff1f;1 何为 Vim2 为何学 Vim Section 2&…...

BLE core 内容整理解释

本文内容比较杂散&#xff0c;只是做记录使用&#xff0c;后续会整理的有条理些 link layer 基本介绍 **Link Layer Control&#xff08;链路层控制&#xff09;**是蓝牙低功耗&#xff08;BLE&#xff09;协议栈的核心部分&#xff0c;负责实现设备间可靠、安全、低功耗的数…...

import org.springframework.data.jpa.repository.JpaRepository<T, ID>;

org.springframework.data.jpa.repository.JpaRepository<T, ID> 接口中的 ID 类型参数。 理解 JpaRepository<T, ID> 中的 T 和 ID&#xff1a; T (Type): T 代表的是你想要操作的 实体类 的类型。例如&#xff0c;如果你有一个名为 User 的实体类&#xff0c;那…...

抽象工厂设计模式的理解和实践

在软件开发中&#xff0c;设计模式是前人通过大量实践总结出的、可复用的、解决特定问题的设计方案。它们为我们提供了一种标准化的解决方案&#xff0c;使得代码更加简洁、灵活和易于维护。在众多设计模式中&#xff0c;抽象工厂模式&#xff08;Abstract Factory Pattern&…...

RuntimeError: CUDA error: initialization

RuntimeError: CUDA error: initialization cuda初始化出问题了&#xff0c;这是因为在python多线程跑gpu代码程序时先对cuda进行操作&#xff0c;然后在跑gpu代码时就没有cuda可用了。 在main的主程序代码加一行代码就可以了&#xff0c;用来获取cuda&#xff0c;在代码中只能…...

可信数据空间建设及应用参考指南(V1.0)

为贯彻国家数据局《可信数据空间发展行动计划&#xff08;2024-2028 年&#xff09;》&#xff0c;促进可信数据空间持续、快速和健康发展&#xff0c;相关行业专家组织编写《可信数据空间建设及应用参考指南&#xff08;V1.0&#xff09;》&#xff08;以下简称《参考指南》&a…...

目标检测文献阅读-YOLO:统一的实时目标检测(12.23-12.29)

目录 摘要 Abstract 1 引言 2 统一的检测 3 网络设计 4 训练 5 YOLOv5训练猫狗识别模型 5.1 项目代码整体结构介绍 5.2 数据集和预训练权重的准备 5.3 训练猫狗识别模型 5.3.1 修改数据配置文件 5.3.2 修改模型配置文件 5.3.3 训练模型 5.3.4 启用tensorbord查看…...

埃斯顿机器人程序案例多个点位使用变量

多个点位使用变量取放...

JVM实战—4.JVM垃圾回收器的原理和调优

大纲 1.JVM的新生代垃圾回收器ParNew如何工作 2.JVM老年代垃圾回收器CMS是如何工作的 3.线上部署系统时如何设置垃圾回收相关参数 4.新生代垃圾回收参数如何优化 5.老年代的垃圾回收参数如何优化 6.问题汇总 1.JVM的新生代垃圾回收器ParNew如何工作 (1)JVM的核心运行原理…...

【项目日记(8)】第三层:页缓存的具体实现(下)

目录 前言1. 地址空间上的内存使用情况2. 页缓存合并内存的代码实现3. 总结以及对代码的拓展 前言 请先看完上一篇文章页缓存的具体实现(上) 1. 地址空间上的内存使用情况 在地址空间中,一共是4GB大小的空间&#xff0c;地址从0000 0000到FFFF FFFF。 第0页的起始地址是0 第…...

算法题(19):多数元素

审题&#xff1a; 数组不为空且一定存在众数。需要返回众数的数值 思路&#xff1a; 方法一&#xff1a;哈希映射 先用哈希映射去存储对应数据出现的次数&#xff0c;然后遍历找到众数并输出 当然也可以在第一次映射的过程中就维护一个出现次数最多的数据&#xff0c;这样子就可…...

==、equals、hashcode

和equals区别 用于基本数据类型&#xff0c;比较的是值&#xff0c;用于引用类型&#xff0c;比较的是对象的内存地址。java中只有值传递&#xff0c;因此对于引用类型&#xff0c;实际比较的引用的内存地址的值。equals不能用来判断基本数据类型&#xff0c;只能判断引用数据…...

《优势谈判》——阅读笔记

投入 思想准备&#xff1a;一个谈判是要双赢的&#xff0c;至少需要让对手这么认为&#xff1b;进行一场谈判&#xff0c;需要看到对面是否真的愿意和你谈判 谈判技巧 永远不要接受首次报份&#xff1b;如果对方临时变更了要求&#xff0c;则可以通过立刻要求对方做补偿等方…...

mybatis-plus 用法总结

MyBatis-Plus&#xff08;简称 MP&#xff09;是 MyBatis 的增强工具&#xff0c;旨在简化开发者的 CRUD 操作。它在 MyBatis 的基础上提供了更多的功能和便利性&#xff0c;如代码生成器、分页插件、性能分析插件等&#xff0c;使开发者能够更高效地进行数据库操作。MyBatis-P…...

华为开源自研AI框架昇思MindSpore应用案例:ICNet用于实时的语义分割

ICNet用于实时的语义分割 ICNet 被广泛应用于实时的语义分割领域。它在处理图像数据时&#xff0c;能够以较高的效率进行语义分割操作&#xff0c;为相关领域的研究和实际应用提供了有力的支持。ICNet 的实时性使其在众多场景中都具有很大的优势&#xff0c;例如在视频处理、自…...

CAN201 Introduction to Networking(计算机网络)Pt.2 传输层

文章目录 3. Transport Layer&#xff08;传输层&#xff09;3.1 Multiplexing and demultiplexing&#xff08;多路复用和多路分解&#xff09;3.2 Connectionless transport&#xff1a;UDP3.3 Principles of reliable data transfer3.4 Pipelined communication3.5 TCP: con…...

HashMap

一、什么是 基于哈希表的数据结构允许以O(1)的时间复杂度进行元素的插入&#xff0c;查询和删除 二、底层结构 1.数据结构 在1.8以后&#xff0c;数组链表红黑树 数组&#xff1a;HashMap底层是一个数组&#xff0c;每个数组元素存放一个链表或红黑树&#xff08;在JDK 1.…...

JavaScript甘特图 dhtmlx-gantt

背景 需求是在后台中&#xff0c;需要用甘特图去展示管理任务相关视图&#xff0c;并且不用依赖vue&#xff0c;兼容JavaScript原生开发。最终使用dhtmlx-gantt&#xff0c;一个半开源的库&#xff0c;基础功能免费&#xff0c;更多功能付费。 甘特图需求如图&#xff1a; 调…...

基于无线传感器网络的无线光照强度采集系统(附详细使用教程+完整代码+原理图+完整课设报告)

&#x1f38a;项目专栏&#xff1a;【Zigbee课程设计系列文章】&#xff08;附详细使用教程完整代码原理图完整课设报告&#xff09; 前言 &#x1f451;由于无线传感器网络&#xff08;也即是Zigbee&#xff09;作为&#x1f310;物联网工程的一门必修专业课&#xff0c;具有…...

单元测试中创建多个线程测试 ThreadLocal

单元测试中创建多个线程测试 ThreadLocal 在单元测试中&#xff0c;可以通过以下方式创建多个线程来测试 ThreadLocal 的行为。 目标 验证 ThreadLocal 在多线程环境下是否能正确隔离每个线程的数据。 实现步骤 定义需要测试的类 包含 ThreadLocal 对象的类&#xff0c;提供…...

【 Sonarqube】可视化Java项目单元测试覆盖率统计框架搭建

一、项目背景&#xff1a; 一个小公司的朋友反应他们那边Java项目单元测试有&#xff0c;但还没有可视化统计覆盖率数据&#xff0c;没法统计就不能直观的看到单测的覆盖率&#xff0c;Java的覆盖率统计框架还是比较成熟&#xff0c;部署起来也不是很难&#xff0c;下面我们逐…...

安装CentOS(新手教程超详细)

安装CentOS 1. 安装虚拟机 1.1下载虚拟机软件 VMware(VMware by Broadcom - Cloud Computing for the Enterprise) 我们使用的是VMware Workstation VirtualBox(Downloads – Oracle VirtualBox) 如果使用的是Windows系统&#xff0c;下载带for Windows hosts的版本 1.2…...

一起来看--红黑树

【欢迎关注编码小哥&#xff0c;学习更多实用的编程方法和技巧】 红黑树是一种自平衡的二叉搜索树&#xff0c;广泛应用于计算机科学中&#xff0c;尤其是在实现关联数组和集合时。它的设计旨在确保在最坏情况下&#xff0c;基本动态集合操作&#xff08;如插入、删除和查找&am…...

【Hackthebox 中英 Write-Up】通过 POST 请求绕过前端限制:基于 Cookie 的认证与数据提取实操指南

Bypassing Frontend Restrictions with POST Requests: A Practical Guide to Cookie-Based Authentication and Data Extraction 通过 POST 请求绕过前端限制 Objective | 目标 The purpose of this exercise is to understand how POST requests work and how to authentica…...

comctl32.dll没有被指定在window运行怎么解决?

一、文件丢失问题&#xff1a;comctl32.dll没有被指定在Windows上运行怎么解决&#xff1f; comctl32.dll是Windows操作系统中的一个重要组件&#xff0c;它负责提供用户界面元素&#xff0c;如按钮、对话框和列表视图等。当系统提示“comctl32.dll没有被指定在Windows上运行”…...

EC-Final 2024游记

长篇流水账预警 Day -&#xff1f; 某天上乒乓课时看到懋神群里了我们队问有时间打ec吗&#xff0c;才知道我们最终还是进ec了&#xff0c;也成为了我们学校唯一一支没有金牌的ec队伍&#xff0c;然而此时整个队伍板子都扔了&#xff0c;一个多月没做过题&#xff0c;我脑子就…...

我的Opencv

1.安装Opencv pip install opencv-python 2.读取图像 3.写图像 4. 显示图像 5.waitKey() 6.读视频并播放视频 7.写视频 8. 获取摄像头视频 9.色彩转换 # BGR to GRAY imgGRAY cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # BGR to RGB imgRGB cv2.cvtColor(img, cv2.COLOR_…...

Pandas-缺失数据处理

文章目录 一. 简介1. 缺失数据简介2. NaN简介① 查看NaN&#xff0c;NAN&#xff0c;nan② 两个NaN也不相等③ isnull/isna方法④ notnull/notna 二. 加载缺失值1. 来源2. 加载数据&#xff0c;不包含默认缺失值3.加载数据&#xff0c;手动指定缺失值 三.处理缺失值1. 加载数据…...

windows编译llama.cpp GPU版本

Build 指南 https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md 一、Prerequire 具体步骤&#xff08;以及遇到的坑&#xff09;&#xff1a; 如果你要使用CUDA&#xff0c;请确保已安装。 1.安装 最新的 cmake, git, anaconda&#xff0c; pip 配置pyt…...

绝美的数据处理图-三坐标轴-散点图-堆叠图-数据可视化图

clc clear close all %% 读取数据 load(MyColor.mat) %读取颜色包for iloop 1:25 %提取工作表数据data0(iloop) {readtable(data.xlsx,sheet,iloop)}; end%% 解析数据 countzeros(23,14); for iloop 1:25index(iloop) { cell2mat(table2array(data0{1,iloop}(1,1)))};data(i…...

计算机网络500题2024-2025学年度第一学期复习题库(选择、判断、填空)

一、单选题 1、&#xff08; &#xff09;是实现两个同种网络互连的设备 A. 网桥 B. 网关 C. 集线器 D. 路由器 2、10M以太网有三种接口标准&#xff0c;其中10BASE-T采用&#xff08; &#xff09; A. 双绞线 B. 粗同轴电缆 C. 细同轴电缆 D. 光纤 3、HDLC是哪…...

python学opencv|读取图像(二十二)使用cv2.polylines()绘制多边形

【1】引言 前序学习进程中&#xff0c;已经掌握了使用pythonopencv绘制线段、矩形和圆形的基本操作&#xff0c;相关链接包括且不限于&#xff1a; python学opencv|读取图像&#xff08;十八&#xff09;使用cv2.line创造线段-CSDN博客 python学opencv|读取图像&#xff08;…...

skywalking配置项indexReplicasNumber不生效问题

indexReplicasNumber: 的配置原来是 indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}&#xff0c; 修改为 indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1} 但从es查询索引显示的副本数还是0&#xff0c;删除es中的数据&#xff0c;重启sk…...

2024年终回顾

前言 很久没有更新博客&#xff0c;因为工作内容主要是内场开发&#xff0c;后来有点和互联网脱轨&#xff0c;断断续续上来看一下。这个总结应该也很简单&#xff0c;涉及以下的几个内容进行逐一说明 一、就业问题 这个问题可能很尖锐&#xff0c;从大环境来说&#xff0c;去…...

【深度学习】卷积网络代码实战ResNet

ResNet (Residual Network) 是由微软研究院的何凯明等人在2015年提出的一种深度卷积神经网络结构。ResNet的设计目标是解决深层网络训练中的梯度消失和梯度爆炸问题&#xff0c;进一步提高网络的表现。下面是一个ResNet模型实现&#xff0c;使用PyTorch框架来展示如何实现基本的…...

算法基础一:冒泡排序

一、冒泡排序 1、定义 冒泡排序&#xff08;英语&#xff1a;Bubble Sort&#xff09;是一种简单的排序算法。它重复地走访过要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果他们的顺序&#xff08;如从大到小、首字母从A到Z&#xff09;错误就把他们交换过来。 …...

第 29 章 - ES 源码篇 - 网络 IO 模型及其实现概述

前言 本文介绍了 ES 使用的网络模型&#xff0c;并介绍 transport&#xff0c;http 接收、响应请求的代码入口。 网络 IO 模型 Node 在初始化的时候&#xff0c;会创建网络模块。网络模块会加载 Netty4Plugin plugin。 而后由 Netty4Plugin 创建对应的 transports&#xff0…...

工作流引擎之Flowable

一、概述 Flowable是一个使用Java编写的轻量级业务流程引擎&#xff0c;专为处理复杂业务流程而设计。作为业务流程管理&#xff08;BPM&#xff09;领域的重要工具&#xff0c;Flowable不仅支持BPMN 2.0标准的流程定义&#xff0c;还提供了丰富的API接口和可视化工具&#xf…...

学习threejs,THREE.CircleGeometry 二维平面圆形几何体

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.CircleGeometry 圆形…...

网络编程UDP—socket实现(C++)

网络编程UDP—socket实现 前言UDP客户端和服务端UDP使用场景UDP socket C代码示例服务端接收数据示例&#xff08;bindrecvfrom 阻塞式接收信息&#xff09;&#xff1a;bind 绑定-监听 函数为什么一般都是监听所有网络接口呢&#xff1f;为什么需要用inet_addr进行转换&#x…...

个人用途虚拟机VM 17安装Ubuntu 16.04.5 图解

1.安装环境软件准备工作 1&#xff09;下载 免费版VMware Pro 17 https://softwareupdate.vmware.com/cds/vmw-desktop/ws/17.6.1/24319023/windows/core/VMware-workstation-17.6.1-24319023.exe.tar 2&#xff09;Ubuntu 16.04.5 LTS 64位 64-bit PC (AMD64) desktop imag…...

音视频入门基础:MPEG2-TS专题(23)——通过FFprobe显示TS流每个packet的信息

音视频入门基础&#xff1a;MPEG2-TS专题系列文章&#xff1a; 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;1&#xff09;——MPEG2-TS官方文档下载 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;2&#xff09;——使用FFmpeg命令生成ts文件 音视频入门基础…...

安卓project级别build.gradle和主module的build.gradle

以穿山甲为例讲解 如下图 gradle和gradle插件对应关系 Android Gradle 插件 8.7 版本说明 | Android Studio | Android Developers gradle对应在项目里的配置为 gradle插件对应的位置为...

【Qt】多元素控件:QListWidget、QTableWidget、QTreeWidget

目录 QListWidget 核心属性&#xff1a; 核心方法&#xff1a; 核心信号&#xff1a; 例子&#xff1a; QListWidgetItem QTableWidget 核心方法&#xff1a; 核心信号 QTableWidgetItem 例子&#xff1a; QTreeWidget 核心方法&#xff1a; 核心信号&#xff1a…...

服务器nfs文件共享

1. 配置 NFS 服务器(NFS Server) 在 Ubuntu/Debian 上: sudo apt update sudo apt install nfs-kernel-server在 CentOS/RHEL 上: sudo yum install nfs-utils1.2 创建共享目录 选择一个要共享的目录,并确保该目录的权限正确设置。例如,假设我们要共享 /srv/nfs 目录…...

【hackmyvm】soul靶机wp

tags: HMVrbash绕过图片隐写PHP配置解析 1. 基本信息^toc 文章目录 1. 基本信息^toc2. 信息收集3. 图片解密3.1. 爆破用户名3.2. 绕过rbash3.3. 提权检测 4. 获取webshell4.1. 修改php配置 5. www-data提权gabriel6. gabriel提取到Peter7. Peter提权root 靶机链接 https://ha…...

安装winserver2008R2虚拟机步骤

一、服务器系统介绍 1.1什么是服务器&#xff1f; 服务器英文名称为“Server”&#xff0c;指的是网络环境下为客户机(Client)提供某种服务的专用计算机&#xff0c;服务器安装有网络操作系统(如Windows 2000 Server、Linux、Unix等)和各种服务器应用系统软件(如Web服务、电子…...

跟着 8.6k Star 的开源数据库,搞 RAG!

过去 9 年里&#xff0c;HelloGitHub 月刊累计收录了 3000 多个开源项目。然而&#xff0c;随着项目数量的增加&#xff0c;不少用户反馈&#xff1a;“搜索功能不好用&#xff0c;找不到想要的项目&#xff01;” 这让我意识到&#xff0c;仅仅收录项目是不够的&#xff0c;还…...

RCE漏洞

一、课程知识点 1、远程代码执行漏洞原理与利用 2、常见的代码执行函数 3、常见的命令执行函数 4、常见的绕过姿势 5、命令执行漏洞防范 二、技术目标 1、掌握命令执行漏洞的原理 2、掌握 PHP 命令执行和代码执行的相关函数 3、掌握常见的绕过姿势 4、掌握代码执行漏洞防御措施…...

数据通信系统的主要性能指标

1.码元速率 n 误码率 2.数据传输速率 n 误比特率 3.时延 n 往返时间 RTT 1. 码元速率 n 码元 ( Code element) n 码元是 数字信号的计量单位 &#xff08; Signal element &#xff09;&#xff0c; 又称为符号&#xff08; Symbol &#xff09;。 n 码元 是指在使用时域表示…...