vi和vim编辑器
目录
1 vi和vim的基本介绍
2 vi和vim常用的三种模式
1)正常模式
2)插入模式
3)命令行模式
3 vim快捷键
1)普通模式下:
2)输入模式
3)命令行模式
4)可视模式
1 vi和vim的基本介绍
Linux系统会内置vi文本编辑器
Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译错误跳转等方便编程的功能相当丰富,在程序员中被广泛使用。(vim就是vi的增强版)
2 vi和vim常用的三种模式
1)正常模式
以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,可以使用【上下左右】键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。
2)插入模式
按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i就可
3)命令行模式
在这个模式中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等动作则是在此模式中达成的!



3 vim快捷键
1)普通模式下:
- 上下左右(方向键):hjkl或方向键
#左
h
#下
j
#上
k
#右
l
如:4h:表示向左移动4位;5j:表示向下移动5行;其他同理;
- 跳转到下一个单词的开头-w;即:word单词的开头
w
- 跳转到前一个单词开头-b
b
- 跳转到第一行开头
gg
- 跳转到最后一行开头
G
- 向上翻页
ctrl + u
- 向下翻页
ctrl + d
- 查找-f ;即:find
f
如:向下查找r,并跳转到r位置
fr
如:向下查找o,并跳转到o位置
fo
- 复制
y
# 复制光标所在的单词
yaw 即:yank all word
# 复制当前行和下面4行
y5j 或 5yy
- 粘贴
p
- 删除
d
# 删除光标所在单词
daw
# 删除当前行和下面4行
d5j 或 5dd
- 撤销
u
2)输入模式
- 进入输入模式
在普通模式下,按如下任一一个键进入输入模式i :在当前光标前进行输入
a :在当前光标后进行输入
I :在光标所在行的开头进行输入
A :在光标所在行的末尾进行输入
caw :删除光标所在单词并进行输入
cc :删除当前行并开始进行输入
- 退出输入模式
esc键
3)命令行模式
- 进入命令行模式
在普通模式下,按:进入
:
- 显示行号
:set nu
或
:set nonu
- 保存文件
:w
- 保存并退出文件
:wq
- 不保存退出文件
:q!
- 退出命令行模式
esc键
4)可视模式
- 进入可视模式
v
- 退出可视模式
esc键
相关文章:
vi和vim编辑器
目录 1 vi和vim的基本介绍 2 vi和vim常用的三种模式 1)正常模式 2)插入模式 3)命令行模式 3 vim快捷键 1)普通模式下: 2)输入模式 3)命令行模式 4)可视模式 1 vi和vim的基本…...
纯电动汽车硬件在环测试
纯电动汽车硬件在环测试技术研究综述 1、新能源汽车概述 随着新能源汽车“电动化、智能化、网联化、共享化”进程的不断推进,新能源汽车的整体性能得到显著提高,纯电动汽车已经逐渐走进大众视野,消费者对于新能源汽车的认可度和购买欲望也稳…...
Flutter 中的 ClipRect 小部件:全面指南
Flutter 中的 ClipRect 小部件:全面指南 在Flutter中,ClipRect是一个布局小部件,它使用矩形裁剪其子组件的可见部分。这意味着超出ClipRect定义的矩形区域的子组件部分将被隐藏。ClipRect通常用于实现自定义的滚动效果、动画或者仅仅是为了限…...
【LeetCode】【209】长度最小的子数组(1488字)
文章目录 [toc]题目描述样例输入输出与解释样例1样例2样例3 提示进阶Python实现前缀和二分查找滑动窗口 个人主页:丷从心 系列专栏:LeetCode 刷题指南:LeetCode刷题指南 题目描述 给定一个含有n个正整数的数组和一个正整数target找出该数组…...
1738. 找出第 K 大的异或坐标值
题目: 给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。 矩阵中坐标 (a, b) 的 值 可由对所有满足 0 < i < a < m 且 0 < j < b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异…...
Fortran: stdlib标准库
Fortran 标准库 stdlib_logger,stdlib_error, stdlib_sorting,stdlib_optval模块挺好用 封装 stdlib_logger和stdlib_error: M_logger.F90 module M_loggeruse stdlib_loggeruse stdlib_error containssubroutine info(message,module,procedure)character(len*),intent(in):…...
CSS3优秀动画代码示例
目录 旋转立方体悬停效果动画路径动画纯CSS进度条文字打字机效果3D翻转卡片SVG路径跟随动画SVG心跳动画旋转文字手风琴效果...
嵌入式0基础开始学习 ⅠC语言(4)循环结构
0.问题引入 求0~100数据之和: int sum 0; sum 1234....100; 废手,那么有没有一种好的方法取操作呢? int sum 0; int i 1; sum sum i; // sum 01; …...
【JAVASE】抽象类
1、抽象类概念 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。比如: 说明&a…...
嵌入式硬件中PCB走线与过孔的电流承载能力分析
简介 使用FR4敷铜板PCBA上各个器件之间的电气连接是通过其各层敷着的铜箔走线和过孔来实现的。 由于不同产品、不同模块电流大小不同,为实现各个功能,设计人员需要知道所设计的走线和过孔能否承载相应的电流,以实现产品的功能,防止过流时产品烧毁。 文中介绍设计和测试FR4敷…...
动态规划之背包问题中如何确定遍历顺序的问题-组合or排列?
关于如何确定遍历顺序 322. 零钱兑换中,本题求钱币最小个数,那么钱币有顺序和没有顺序都可以,都不影响钱币的最小个数。 所以本题并不强调集合是组合还是排列。 如果求组合数就是外层for循环遍历物品,内层for遍历背包。 如果求…...
开源大模型与闭源大模型
概述 开源大模型和闭源大模型是两种常见的大模型类型,它们在以下方面存在差异: 开放性: 开源大模型:代码和模型结构是公开可用的,任何人都可以访问、修改和使用。闭源大模型:模型的代码和结构是私有的&…...
python+selenium - UI自动框架之封装查找元素
单一的元素定位方法不能满足所有元素的定位,可以根据每个元素的特点来找到合适的方法,可以参考下图的方法: elementFind.py from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_con…...
java 拦截器-用户无操作超时退出利用Redis
1、授权过滤,只要实现AuthConfigAdapter接口 2、利用Redis token超时时间,用户访问后台续时 效果 Component public class AuthFilter implements Filter {private static Logger logger LoggerFactory.getLogger(AuthFilter.class);Autowiredprivat…...
民国漫画杂志《时代漫画》第16期.PDF
时代漫画16.PDF: https://url03.ctfile.com/f/1779803-1248612470-6a05f0?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络!...
线程池以及日志类的实现
目录 线程池: 日志类: 可变参数以及相关函数 1.va_list 2. va_start 3. va_end 日志Log类 线程池 线程池: 是一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着 监督管理者分配可并发执行…...
基于长短期记忆网络 LSTM 的送餐时间预测
前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…...
K-means聚类算法详细介绍
目录 🍉简介 🍈K-means聚类模型详解 🍈K-means聚类的基本原理 🍈K-means聚类的算法步骤 🍈K-means聚类的优缺点 🍍优点 🍍缺点 🍈K-means聚类的应用场景 🍈K-mea…...
SAP FS00如何导出会计总账科目表
输入T-code : S_ALR_87012333 根据‘FS00’中找到的总账科目,进行筛选执行 点击左上角的列表菜单,选择‘电子表格’导出即可...
ROS参数服务器
一、介绍 参数服务器是用于存储和检索参数的分布式多机器人配置系统,它允许节点动态地获取参数值。 在ROS中,参数服务器是一种用于存储和检索参数的分布式多机器人配置系统。它允许节点动态地获取参数值,并提供了一种方便的方式来管理和共享配…...
013.定时器之系统Tick实现|千篇笔记实现嵌入式全栈/裸机篇
⚠️裸机仓库:https://gitee.com/simonchina_carel_li/mini2440-bare-metal.git ⚠️Tag: 13-sys-tick 1. 为什么要系统Tick? 在前面的SDRAM测试程序中(), 我们有这样的部分, // -- TODO: 如果你有定时器…...
Spring事务@Transactional失效的7大隐蔽陷阱与实战避坑指南
1. 代理机制失效的隐蔽陷阱 Spring事务管理的核心原理是通过动态代理实现的,但很多开发者并不清楚代理机制在哪些情况下会失效。最常见的问题就是同一个类中的方法内部调用。比如你在Service类中写了一个无事务的方法A,A内部调用了有Transactional注解的…...
PoeCharm:用数据驱散《流放之路》构建迷雾,让每个玩家都能成为build大师
PoeCharm:用数据驱散《流放之路》构建迷雾,让每个玩家都能成为build大师 【免费下载链接】PoeCharm Path of Building Chinese version 项目地址: https://gitcode.com/gh_mirrors/po/PoeCharm PoeCharm作为Path of Building的中文增强版…...
【算法实战 | DFS应用】从迷宫到图论:深度优先搜索的进阶技巧与优化策略
1. 深度优先搜索的核心思想 深度优先搜索(DFS)就像一个人在迷宫里探险,遇到岔路时总是选择最左边的那条路,走到死胡同再原路返回,尝试下一条未走过的路。这种"不撞南墙不回头"的特性,正是DFS最形…...
Qwen3-14B私有部署镜像:利用MATLAB进行大模型输出数据分析与可视化
Qwen3-14B私有部署镜像:利用MATLAB进行大模型输出数据分析与可视化 1. 科研数据分析的新思路 在科研和工程领域,我们经常需要处理大量文本数据。传统的人工分析方法不仅耗时耗力,而且难以发现深层次的规律。Qwen3-14B作为一款强大的开源大语…...
Ryujinx模拟器完全指南:从基础原理到高级应用
Ryujinx模拟器完全指南:从基础原理到高级应用 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 一、核心认知:模拟器技术解析与平台适配 模拟器工作机制…...
解锁Obsidian笔记无限可能:Pandoc插件全方位转换指南
解锁Obsidian笔记无限可能:Pandoc插件全方位转换指南 【免费下载链接】obsidian-pandoc Pandoc document export plugin for Obsidian (https://obsidian.md) 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-pandoc 你是否曾为笔记格式转换而烦恼&am…...
苹果设备激活锁绕过:如何合法解锁iOS 15-16设备的完整指南
苹果设备激活锁绕过:如何合法解锁iOS 15-16设备的完整指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 在iOS设备管理中,激活锁(Activation Lock)是苹…...
二次型标准化实战:五种方法在机器学习特征降维中的应用
1. 二次型标准化与特征降维的奇妙关联 第一次听说要把二次型标准化方法用在机器学习特征降维时,我的反应和大多数工程师一样:"这俩八竿子打不着的概念能扯上关系?"直到在电商用户行为分析项目中遇到高维数据灾难,才真正…...
FanControl中文设置高效配置:5分钟完成本地化界面实战指南
FanControl中文设置高效配置:5分钟完成本地化界面实战指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendin…...
