vi和vim编辑器

news2024/11/16 16:39:50

目录

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键

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1698806.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习与大模型】开源大模型和闭源大模型:技术发展与社会责任的平衡点

目录 💡引言✈️✈️一,开源大模型的优势与劣势✈️✈️1.1 优势:✈️✈️1.2 挑战和劣势: 🚀🚀2. 闭源大模型的优势与劣势🚀🚀2.1 优势:🚀🚀2.2 …

代码随想录算法训练营第四天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点 、 面试题 02.07. 链表相交、142.环形链表II

24. 两两交换链表中的节点 题目链接: 24. 两两交换链表中的节点 文档讲解:代码随想录 状态:没做出来,没有正确更新头节点,因为head和cur共享引用,会随着cur的移动,丢失之前存放的节点 错误代码&…

6.定时器分时复用测量占空比

1.CUBEMAX配置 测量PA6,PA7输出的占空比,只需要把主要的配置,配置为A6口就行,A7口黄色表示配置不正确,不用管。 2.软件代码 TIME.c中找到TIM3的初始化,在后面初始化A7口 void MX_TIM3_Init_PA7(void) {/*…

JVM之【类加载机制】

一、类加载过程 1. 加载(Loading) 工作内容: 通过类的全限定名来获取定义此类的二进制字节流: JVM首先会调用类加载器的findClass方法来找到类文件的路径,通常从文件系统、JAR包、网络、数据库等来源获取类文件。 将…

揭秘Markdown:轻松掌握基础语法,让你的写作更高效、优雅!

文章目录 前言1.标题1.1 使用 和 - 标记一级和二级标题1.2 使用 # 号标记 2.段落格式2.1 字体2.2 分割线2.3 删除线2.4 下划线2.5 脚注 3.列表3.1 无序列表3.2 有序列表3.3 列表嵌套 4.区块4.1 区块中使用列表4.2 列表中使用区块 5.代码代码区块 6.链接7.图片8.表格9.高级技巧…

C#对文件进行批量重命名或者对某个单独的文件进行改名

目录 一、FolderBrowserDialog 二、OpenFileDialog 三、Path 四、ui设计 五、代码部分 一、FolderBrowserDialog FolderBrowserDialog是一个用于选择文件夹的对话框控件,可以在windows Forms应用程序中使用。使用它可以让用户选择一个文件夹,并返…

闲话 .NET(6):.NET Core 各个版本的特性

前言 之前我们聊了一下 .NET Core 有哪些优势,.NET Core 发展非常迅速,不过短短几年,.NET Core 已经发布 .NET 8 了,基本上保持了一年一个版本的速度,每个版本都有自己的独有特性,下面我们来简单的盘点一下…

从零实现Llama3中文版

1.前言 一个月前,Meta 发布了开源大模型 llama3 系列,在多个关键基准测试中优于业界 SOTA 模型,并在代码生成任务上全面领先。 此后,开发者们便开始了本地部署和实现,比如 llama3 的中文实现、llama3 的纯 NumPy 实现…

【机器学习300问】100、怎么理解卷积神经网络CNN中的池化操作?

一、什么是池化? 卷积神经网络(CNN)中的池化(Pooling)操作是一种下采样技术,其目的是减少数据的空间维度(宽度和高度),同时保持最重要的特征并降低计算复杂度。池化操作不…

高速数据采集与传输(一):ADC08D500调研

前言:高速ADC数据采集的应用和开发,涉及的技术面非常的广泛,后续阶段博主将尝试以纯项目开发的形式做一次专题技术分享,将基于高速数据采集的相关内容进行一系列的技术文档更新。博主全凭兴趣在更新和总结,很难做到一直…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试5月26日预测第2弹

今天继续基于8883的大底进行测试,昨天的预测已成功命中!今天继续测试,按照排三前面的规律,感觉要出对子了,所以本次预测不再杀对子,将采用杀一个和尾来代替。好了,直接上结果吧~ 首先&#xff0…

软考结束。有什么要说的

1. 竟然是机试,出乎我意料。是 考试机构觉得笔试成本高了么。这次的考试是机试,相比以往有所不一样。感言是不是以后都会在固定地点考试也说不准。 2. 遇到年轻人。 这次旁边的一个女同学第一次参加,还像我询问了一些关于软考的事。我是有…

14 vue学习:透传Attributes

Attributes 继承 “透传 attribute”指的是传递给一个组件,却没有被该组件声明为 [props]或 [emits]的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。 当一个组件以单个元素为根作渲染时,透传的 attribute 会自动被添加到根元…

vcpkg环境配置

vcpkg 使用linux相关库,设置环境变量VCPKG_ROOT,设置cmake工具链$VCPKG_ROOT/scripts\buildsystems\vcpkg.cmake set VCPKG_DEFAULT_TRIPLETx64-windows .\vcpkg.exe install fftw3 freetype gettext glibmm gtkmm libjpeg-turbo libpng libxmlpp libs…

pytest框架用例命名规则详解

pytest 测试用例的命名规则是为了确保 pytest 能够正确地识别和执行测试用例。 以下是关于 pytest 测试用例命名规则的详细解释: 1 单个测试文件以‘test_’开头或者以‘_test’结尾 比如我们创建test_case1.py case2_test.py文件。 2 单个测试文件中&#xff0c…

PLC_博图系列☞R_TRIG:检测信号上升沿

PLC_博图系列☞R_TRIG:检测信号上升沿 文章目录 PLC_博图系列☞R_TRIG:检测信号上升沿背景介绍R_TRIG: 检测信号上升沿说明参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 R_TRIG 背景介绍 这是一篇关于PLC编程的文章&a…

服务器安全审计: chkrootkit 和 rkhunter 详解

chkrootkit 和 rkhunter 是两个广泛使用的安全工具,用于检测系统是否被Rootkit或其他恶意软件感染。本文将详细说明这两个工具的使用方法及如何解释检测结果。 1. chkrootkit 1.1. 安装 chkrootkit 在CentOS上安装 chkrootkit 可以使用以下命令: yum install chkrootkit -…

SpringMVC:创建一个简单的SpringMVC框架S

目录 一、框架介绍 两个重要的xml文件 SpringMVC执行流程 二、Vscode搭建SpringMVC框架 1、maven创建webapp原型项目 2、pom.xml下添加springmvc的相关依赖 3、在web.xml配置 4、springmvc.xml的配置 5、编写Controller控制器类 6、 编写JSP界面 7、项目结构图 一…

$subcribe的使用

$subcribe的使用 只要是store都有$subscribe函数,是订阅的意思,可以监测到store中数据的变化 使用$subscribe函数可以实现刷新不丢失,将数据保存到浏览器的本地存储中,每次进入页面都使用localStorage的数据填充页面

springboot带颜色的日志输出

话不多说直接贴全部代码在作解释 <?xml version"1.0" encoding"utf-8"?> <configuration><property name"pattern" value"%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg %n"/><propert…