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

个人学习 - 什么是Vim?

观我往旧,同我仰春

- 2025.1.10


声明

仅作为个人学习使用,仅供参考


本文所有解释参考笔者个人理解,最终目的是服务于自我学习,
如果你需要了解官方更规范的解释,请自行查阅


Vim 是什么

Vim 是一个强大的 文本编辑器

Vim 和 Vi 区别

Vim 从 Vi 发展而来,可以看作是 Vi 的增强版本,是Vi的继承和扩展。

个人常用命令

命令备注作用
iinsert从命令模式到插入模式
ESC键从插入模式到命令模式
O大写O新增上一行
o小写o新增下一行
:qquit退出
:wwrite保存
:wqwrite & quit保存并退出
:q!强制退出
gggo to line (beginning)到文本第一行
Ggo to line (end)到文本最后一行
0到当前行开头
$到当前行末尾
dddelete (line)删除当前行
yyyank (copy)复制当前行
.dot (repeat)重复上次操作
uundo撤销上次操作相当于 ctrl z
ctrl+rredo恢复上次操作
:set number显示行号
:set nonumber不显示行号

简单的vim操作演示

0x01

很多Linux系统自带 vim,这里以 Kali Linux 演示

vim --version 查看vim 版本号

使用的 Vim 版本是 9.1,它是 2024 年 1 月 2 日 发布的。编译日期是 2024 年 11 月 13 日

- VIM - Vi IMproved 9.1:Vim 的版本是 9.1
- 2024 Jan 02:发布日期是 2024 年 1 月 2 日
- Compiled Nov 13 2024:这个版本的 Vim 是在 2024 年 11 月 13 日编译的
- Huge version without GUI:这是一个没有图形界面的 Vim(即仅支持命令行界面)
- Features included (+) or not (-):接下来的信息会列出 Vim 启用了哪些功能,哪些没有启用你可以看到与 Vim 功能相关的详细信息

0x02

用 vim 编辑器打开一个名为 test 的文件

vim test

如果 test 文件存在   Vim 会打开这个文件
如果 test 文件不存在 Vim 会创建一个新的空文件如果你什么都不编辑,然后退出
:wq  会保存这个空文件
:q    不会保存这个空文件

0x03

这里有个[new] 说明 名为test的文件并不存在 这是创建的新文件

0x04

vim 进去默认是命令模式,只能识别命令

点击 i 进入 插入模式,此时就可以输入内容了

0x05

输入一个 python 语句

点击 ESC 退出 插入模式 (INSERT mode)

:wq 保存并退出

0x06

mv 命令 将 test 文件 重命名为 py文件

最后成功执行py文件,输出相应内容

相关文章:

个人学习 - 什么是Vim?

观我往旧,同我仰春 - 2025.1.10 声明 仅作为个人学习使用,仅供参考 本文所有解释参考笔者个人理解,最终目的是服务于自我学习, 如果你需要了解官方更规范的解释,请自行查阅 Vim 是什么 Vim 是一个强大的 文本编辑器…...

Flink Gauss CDC:深度剖析存量与增量同步的创新设计

目录 设计思路 1.为什么不直接用FlinkCDC要重写Flink Gauss CDC 2.存量同步的逻辑是什么 2.1、单主键的切片策略是什么 2.2、​​​​​复合主键作切片,怎么保证扫描到所有的数据 3、增量同步的逻辑是什么 4、存量同步结束之后如何无缝衔接增量同步 5、下游数据如何落…...

docker 部署.netcore应用优势在什么地方?

目录 1. 环境一致性 2. 简化依赖管理 3. 快速部署与扩展 4. 资源利用率高 5. 版本控制与回滚 6. 安全性 7. 生态系统支持 8. 微服务架构支持 9. 降低成本 10. 开发体验提升 总结 使用 Docker 部署 .NET Core 应用有许多优势,特别是在开发、测试和生产环境…...

AIP-126 枚举

编号126原文链接AIP-126: Enumerations状态批准创建日期2019-07-24更新日期2019-07-24 一个域的值集合是一组数量有限的具体值,这是很常见的。此时使用枚举(缩写为“enums”)可有助于明确表达值集合的范围。 指南 API 可以 为不经常更改的…...

P3707 [SDOI2017] 相关分析 Solution

Description 给定序列 x ( x 1 , x 2 , ⋯ , x n ) , y ( y 1 , y 2 , ⋯ , y n ) x(x_1,x_2,\cdots,x_n),y(y_1,y_2,\cdots,y_n) x(x1​,x2​,⋯,xn​),y(y1​,y2​,⋯,yn​),有 m m m 个操作,分三种: query ⁡ ( l , r ) \operatornam…...

Android AutoMotive --CarService

1、AAOS概述 Android AutoMotive OS是谷歌针对车机使用场景打造的操作系统,它是基于现有Android系统的基础上增加了新特性,最主要的就是增加了CarService(汽车服务)模块。我们很容易把Android AutoMotive和Android Auto搞混&…...

K8S中Service详解(三)

HeadLiness类型的Service 在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes提供了HeadLiness Service,这类Service不会分配Cluster IP,…...

C++----STL(vector)

vector的介绍 vector的文档介绍:cplusplus.com/reference/vector/vector/ 1.基本概念 简单来说,vector是表示可以改变大小的数组的顺序容器。使用连续的存储位置来存储元素,因此可以通过常规指针的偏移量来高效访问。 2.内部机制 vector…...

Ubuntu24.04初始化MySQL报错 error while loading shared libraries libaio.so.1

Ubuntu24.04初始化MySQL报错 error while loading shared libraries: libaio.so.1 问题一:libaio1不存在 # 提示libaio1不存在 [rootzabbix-mysql-master.example.com x86_64-linux-gnu]#apt install numactl libaio1 Reading package lists... Done Building depe…...

初探大数据流式处理

文章目录 初探大数据流式处理批式处理系统特点流式处理系统特点大批次计算微批次计算适用场景 流式计算的应用场景流式大数据的特征流式计算的关键技术流式处理框架的特征三大流式数据处理框架 初探大数据流式处理 大数据处理系统主要分为批式处理和流式处理两类。批式处理将大…...

【Linux】Linux入门(三)权限

目录 前提权限概念whoami指令 Linux权限管理文件访问者的分类(人)file指令权限信息权限的表示方法 chmod指令 更改权限chown指令 修改文件,文件夹所属用户和用户组 权限掩码umask(权限掩码) 粘滞位 前提 请先看下面这…...

html,css,js的粒子效果

这段代码实现了一个基于HTML5 Canvas的高级粒子效果&#xff0c;用户可以通过鼠标与粒子进行交互。下面是对代码的详细解析&#xff1a; HTML部分 使用<!DOCTYPE html>声明文档类型。<html>标签内包含了整个网页的内容。<head>部分定义了网页的标题&#x…...

Spring Boot + Netty + WebSocket 实现消息推送

1、关于Netty Netty 是一个利用 Java 的高级网络的能力&#xff0c;隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 2、Maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/io.netty/netty-all --><dependency><gr…...

Python3 【字符串】:方法和函数使用示例手册

Python3 【字符串】&#xff1a;方法和函数使用示例手册 Python 提供了丰富的字符串处理方法和函数&#xff0c;以下是一些常用的方法和函数分类整理&#xff0c;并提供详细使用示例&#xff0c;简单易懂&#xff0c;值得收藏。 1. 字符串大小写转换 str.upper()&#xff1a;…...

数据结构与算法整理复习(一):数据结构概念与线性表

目录 第一章&#xff1a;绪论 1.1 数据结构的基本概念 1.2 算法与算法评价 第二章&#xff1a;线性表 2.1 线性表的定义和基本操作 2.2 线性表的顺序表示&#xff08;顺序表&#xff09; 应用题 2.3 线性表的链式表达&#xff08;链表&#xff09; 2.3.1 单链表 2.3.2…...

【Block总结】PConv风车卷积,更大的感受野,提高特征提取能力|即插即用

论文信息 论文标题&#xff1a;《Pinwheel-shaped Convolution and Scale-based Dynamic Loss for Infrared Small Target Detection》 论文链接&#xff1a;https://arxiv.org/pdf/2412.16986 GitHub链接&#xff1a;https://github.com/JN-Yang/PConv-SDloss-Data 创新点 …...

Python新春烟花

目录 系列文章 写在前面 技术需求 完整代码 下载代码 代码分析 1. 程序初始化与显示设置 2. 烟花类 (Firework) 3. 粒子类 (Particle) 4. 痕迹类 (Trail) 5. 烟花更新与显示 6. 主函数 (fire) 7. 游戏循环 8. 总结 注意事项 写在后面 系列文章 序号直达链接爱…...

VirtualBox can‘t enable the AMD-V extension

个人博客地址&#xff1a;VirtualBox cant enable the AMD-V extension | 一张假钞的真实世界 最近一次完成Deepin的系统更新后&#xff0c;进入VirtualBox创建的虚拟机&#xff08;Widows10&#xff09;时&#xff0c;出现以下错误&#xff1a; 根据网址“https://askubuntu.…...

掘金--创意标题匹配问题

问题描述 在广告平台中&#xff0c;为了给广告主一定的自由性和效率&#xff0c;允许广告主在创造标题的时候以通配符的方式进行创意提交。线上服务的时候&#xff0c;会根据用户的搜索词触发的 bidword 对创意中的通配符&#xff08;通配符是用成对 {} 括起来的字符串&#x…...

OBU和T-Box

OBU&#xff08;On-Board Unit&#xff0c;车载单元&#xff09;和T-Box&#xff08;Telematics Box&#xff0c;远程信息处理控制单元&#xff09;都是用于车联网和智能交通系统的车载设备&#xff0c;但它们的功能、应用场景和技术特点存在显著差异。以下是两者的详细对比&am…...

从服务器被黑到主动防御:fail2ban实战部署与多服务防护策略

1. 从一次真实的服务器入侵说起 去年夏天的一个凌晨&#xff0c;我被手机警报声惊醒——自建服务器的CPU占用率飙升至100%。登录管理界面后&#xff0c;发现有个名为kworker的进程持续消耗资源。经过排查&#xff0c;在/tmp目录下发现了伪装成系统文件的挖矿程序&#xff0c;攻…...

Pixel Dream Workshop 创意激发:利用算法生成无限可能的艺术图案与纹理

Pixel Dream Workshop 创意激发&#xff1a;利用算法生成无限可能的艺术图案与纹理 1. 当算法遇见艺术&#xff1a;数字创作的新纪元 在传统艺术创作中&#xff0c;设计师们常常需要花费大量时间手工绘制图案和纹理。而如今&#xff0c;Pixel Dream Workshop的出现彻底改变了…...

Phi-4-mini-reasoning轻量模型选型指南:何时该用Phi-4-mini而非Qwen3

Phi-4-mini-reasoning轻量模型选型指南&#xff1a;何时该用Phi-4-mini而非Qwen3 1. 模型概述与核心优势 Phi-4-mini-reasoning是一个基于合成数据构建的轻量级开源模型&#xff0c;专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族成员&#xff0c;它特别适合需要高…...

放假给大家推荐一些孩子的资料,有了这些资源简直太好了!

&#x1f468;‍&#x1f469;‍&#x1f467;有娃家庭必收&#xff01;这批教育资源太香了数学思维 / 英语启蒙 / 亲子电影 / 绘画手工 / 睡前故事全部夸克网盘直取&#xff0c;保存即用阅读约 4 分钟 建议收藏备用家里有娃的&#xff0c;这批资源是真的用得上。 从英语…...

零代码实战:用OpenClaw和Qwen3.5-9B-AWQ-4bit制作表情包生成器

零代码实战&#xff1a;用OpenClaw和Qwen3.5-9B-AWQ-4bit制作表情包生成器 1. 为什么需要本地化表情包生成工具 作为一个长期混迹技术社区的老鸟&#xff0c;我经常需要在群聊中快速制作贴合讨论主题的表情包。传统方式要么依赖在线生成器&#xff08;存在隐私风险&#xff0…...

免费域名会不会对网站SEO造成影响_免费域名对网站性能和访问速度有影响吗

免费域名会不会对网站SEO造成影响 在互联网时代&#xff0c;网站的建设和推广是每个企业和个人都必须面对的挑战。其中&#xff0c;域名作为网站的身份和地址&#xff0c;对于网站的SEO&#xff08;搜索引擎优化&#xff09;有着重要影响。而免费域名的出现&#xff0c;给许多…...

OpenClaw调试技巧:Gemma-3-12b-it任务失败的根本原因分析

OpenClaw调试技巧&#xff1a;Gemma-3-12b-it任务失败的根本原因分析 1. 问题背景与现象描述 上周我在本地部署了Gemma-3-12b-it模型&#xff0c;准备用OpenClaw实现自动化周报生成。结果连续三次任务都在"分析本周工作内容"环节卡住&#xff0c;控制台只显示Task …...

5个技巧让你高效畅玩Switch游戏:开源Ryujinx模拟器全攻略

5个技巧让你高效畅玩Switch游戏&#xff1a;开源Ryujinx模拟器全攻略 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx Ryujinx是一款采用C#语言开发的开源Nintendo Switch模拟器&#x…...

Kubernetes 部署 Spring Boot 应用:从入门到生产实践

Kubernetes 部署 Spring Boot 应用&#xff1a;从入门到生产实践 别叫我大神&#xff0c;叫我 Alex 就好。 一、引言 大家好&#xff0c;我是 Alex。Kubernetes 已经成为云原生应用部署的事实标准&#xff0c;而 Spring Boot 是 Java 微服务开发的首选框架。今天&#xff0c;我…...

基于STM32实现OTABootLoader 第五章——OTA功能开发【下】

三、开发客户端ESP82661、自定义AT指令集&#xff08;1&#xff09;实际上&#xff0c;Wi-Fi模块通常配有官方的AT指令集&#xff0c;只要刷写官方提供的固件即可&#xff08;但可能功能不全&#xff09;&#xff0c;不过&#xff0c;AT指令本身就是基于串口通信实现的一种指令…...