Vim编辑器的使用

news/2024/5/2 17:31:55/文章来源:https://blog.csdn.net/Massimo__JAVA/article/details/127008583

一、什么是Vim编辑器

Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说,vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。

所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。连vim的官方网站vim官网自己也说vim是一个程序开发工具而不是文字处理软件。

vim通过一些插件可以实现和IDE一样的功能!

二、vim键盘图

在这里插入图片描述

三、三种使用模式

基本上vi/vim共分为三种模式,分别是命令模式( Command mode), 输入模式( Insert mode )和底线命令模式( Last
line mode )。这三种模式的作用分别是:

命令模式
用户刚刚启动vi/vim,便进入了命令模式。
例如:vim massimostudy.txt
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i ,并不会输入一个字符, i被当作了一个命令。
以下是常用的几个命令:
●i切换到输入模式,以输入字符。
●x删除当前光标所在处的字符。
●:切换到底线命令模式,以在最底一行输入命令。如果是编辑模式,需要先退出编辑模式,按ESC键
若想要编辑文本:启动Vim ,进入了命令模式,按下i ,切换到输入模式。
命令模式只有一些最基本的命令 ,因此仍要依靠底线命令模式输入更多命令。

输入模式:
在命令模式下按下 i 就进入了输入模式。
在这里插入图片描述
在输入模式中,可以使用以下按键:
●字符按键以及Shift组合,输入字符
●ENTER,回车键,换行
●BACK SPACE ,退格键,删除光标前一个字符
●DEL ,删除键,删除光标后一个字符
●方向键,在文本中移动光标
●HOME/END ,移动光标到行首/行尾
●Page Up/Page Down,上/下翻页
●Insert ,切换光标为输入/替换模式,光标将变成竖线/下划线
●ESC ,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下: (英文冒号)就进入了底线命令模式。光标就移动到了最底下,就可以在这里输入一些底线命令了
在这里插入图片描述
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号) : wq
●q退出程序
●w保存文件
在这里插入图片描述

按ESC键可随时退出底线命令模式。
在这里插入图片描述

简单的说,我们可以将这三个模式想成底下的图标来表示:
在这里插入图片描述

四、移动光标的方法

ctrl+f屏幕【向下】移动一页,相当于【Page Down】按键
ctrl+b屏幕【向上】移动一页,相当于【Page Up】按键
ctrl+d屏幕【向下】移动半页
ctrl+u屏幕【向上】移动半页
数字+空格快捷切换光标位置
数字+回车光标向下移动n行
收索替换
/word向光标之下寻找一个名称为word的字符串。例如要在档案内搜寻vbird这个字符串,就输入/vbird即可! (常用)
?word向光标之上寻找一个字符串名称为word的字符串。
n这个n是英文按键。代表重复前一个搜寻的动作。举例来说,如果刚刚我们执行/vbird去向下搜寻vbird这个字符串,则按下n后,会向下继续搜寻下一个名称为vbird的字符串。如果是执行?vbird的话,那么按下n则会向上继续搜寻名称为vbird的字符串!

:set nu设置行号

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET MAUI学习笔记——1.初识.NET MAUI_初级篇

文章目录一、 引言二、什么是.NET MAUI?1. .NET MAUI为谁服务?2. .NET MAUI是怎样工作的?3. .NET MAUI提供了什么?3.1. 设备特性的跨平台API3.2. 单一项目3.3. 热重载三、结尾一、 引言 打算开发一款简单的Android的App&#xff…

springboot-鑫源停车场管理系统 毕业设计 -附源码 290915

springboot鑫源停车场管理系统 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于停车场管理也是十分常见的。过去使用手工的管理方式对停车场进行管理,造成了管理繁琐、难以维护等问题,如今使用计算机对…

03-JVM-对象内存、执行引擎

一、创建对象的方式 new、Xxx的静态方法、XXXBuilder/XXXFactory的静态方法Class的newInstance,只能调用空参构造器,权限必须是publicConstruct的newInstance,可以调用空参、带参的构造器,权限无要求Clone(),不调用构…

瑞吉外卖(16) - 新增菜品功能开发

文章目录需求分析数据模型dish表dis flaow表代码开发搭建框架新增dishFlavor实体类新增Mapper接口DishFlavorMapper新增业务接口DishFlavorService新增业务层实现类DishFlavorServiceImpl新增控制层DishController梳理交互过程编辑CategoryControoler下拉框功能测试导入DTO编写…

香橙派Orange Pi i96 初次使用遇到的坑和解决方法+附加c# iot .net 代码实例

香橙派Orange Pi i96这个主板是香橙派最便宜的一样主板,功能也不少,我觉得可以满足我的需求,如果可以用好的话,可以做很多东西,批量买也便宜,做出来的产品,定价也不用很高,符合效益 …

4计算机网络与信息安全——软件设计师

一、七层模型 内容: 习题: 局域网不能通过三层通信 二、网络技术标准与协议 一般分为4/5层(没有明确说明,了解主要几层即可) TCP协议: DHCP协议 DNS协议 递归直接回答,迭代刨根到底 三、网络类型与拓扑类型 计算机网络按不同…

一起Talk Android吧(第三百八十五回:数据绑定-DataBinding总结)

文章目录数据绑定使用方法7.单向数据绑8.双向数据绑定9.绑定事件演示结果使用总结各位看官们,大家好,上一回中咱们说的是数据绑定-DataBinding的例子,这一回中咱们继承介绍该例子。闲话休提,言归正转,让我们一起Talk Android吧&am…

线程池概念2

线程池类图 ExecutorService:是一个线程池最基本的接口,提供了提交任务,关闭线程池这些基本的方法。 ScheduledExecutorService:扩展接口,在基础线程池的功能上又新增了任务调度的功能,可以用来定时执行任务。 线程池状态 线程…

Devtools Console 面板输入了 1+1 ,浏览器内部发生了什么?

背景 新来的实习生妹子问了一个问题:「你看 Chrome 的 Devtools 调试工具,代码写一半还没运行下面就会提示输出结果,这个咋做到的?」 咋做的?对于 Devtools 的内部执行逻辑,咱不了解,但咱也不能…

WhatsApp和WhatsApp Business之间的区别

关键词:WhatsApp、WhatsApp Business WhatsApp 无疑是一款超级方便、免费且毫不费力的即时通讯应用程序。这就是庞大的用户群的原因。对于企业来说,它也是一个超级方便、免费且不费吹灰之力的即时通讯应用程序。特别是自从 WhatsApp 推出了 WhatsApp Bus…

《MySQL DBA封神打怪之路》专栏学习大纲

《MySQL DBA封神打怪之路》专栏学习大纲 文章目录《MySQL DBA封神打怪之路》专栏学习大纲1、作者介绍2、专栏介绍3、专栏部分文章截图3.1.所有文章一栏3.2.文章内容截图4、专栏大纲学习指南4.1对数据库的初步认识4.2.四种类型的SQL语句基本使用4.3.超丰富的多表联查案例4.4.事物…

消除笔去水印怎么做?教你怎么用这些消除笔软件

在网上看到好看的照片想要用作壁纸,但是上面有水印看起来不好看怎么办?我们可以用有消除笔的软件将图片水印去除,那么消除笔去水印怎么做呢?今天的这个教程分享给你们。方法一:借助“Styler”进行去水印操作 这是一款拥…

Echarts绘制geo地图属性设置大全(一)

1、Echarts版本 "echarts": "^5.3.3", 2、基础地图绘制&#xff08;以中国地图为例&#xff09; 绘制地图需要有用于绘制地理坐标系的数据&#xff0c;如示例使用的china.js <template><div ref"mapBar" class"map-class"&…

面试之HashMap

1.初始大小&#xff1a;HashMap默认初始大小是16&#xff0c;这个默认值是可以设置的&#xff0c;如果事先知道大概的数据量有多大&#xff0c;可以通过修改默认初始大小&#xff0c;减少动态扩容的次数&#xff0c;这样会大大提高HashMap的性能 2.动态扩容&#xff1a;最大 装…

兼容性测试包含哪几类呢?

兼容性测试包含哪几类呢? (1)浏览器方面 关于浏览器的兼容性测试&#xff0c;主要是检查页面的交互、元素和样式展示是否正常。我们都知道&#xff0c;目前市面上主流的浏览器非常多&#xff0c;像&#xff1a;360、搜狗、火狐等等。 在进行测试的时候&#xff0c;由于兼容性问…

2022出海东南亚:越南电商市场现状及网红营销特点

近几年&#xff0c;东南亚整体发展态势非常好&#xff0c;加上国内市场饱和&#xff0c;不少国内企业在计划出海或已经出海东南亚。作为东南亚第二大电商市场&#xff0c;越南自然也成了香饽饽&#xff0c;越南蓬勃发展的数字经济和电商领域&#xff0c;让其成为了卖家挖掘新商…

Vue 力导图d3js 实现

PowerBI 自定义组件推荐用D3JS 实现&#xff0c;实现一个PowerBI 的力导图组件&#xff0c;为调试方便&#xff0c;先用Vue 实现一个&#xff0c;然后再移植到PowerBI 中&#xff0c;话不多说&#xff0c;上效果&#xff1a; 体验入口 上代码是最好的老师&#xff1a; <t…

【easyExcel】后端将模板文件写入流供前端下载报错,easyexcel下载模板文件出错

目录事件起因环境和工具操作过程解决办法参考内容&#xff1a;结束语事件起因 报错内容&#xff08;我主要搜索的两个错误内容点&#xff09;&#xff1a; com.alibaba.excel.exception.ExcelGenerateException: Create workbook failure 和 Caused by: org.apache.poi.openx…

kingbaseES(人大金仓)数据库语法和常用函数 以及 踩坑记录

前言 最近公司弄了个新项目&#xff0c;数据库指定使用kingbase数据库 刚开始一看这名字都不知道这是啥数据库&#xff0c;后来百度一搜&#xff0c;看到中文名字就知道了。 虽然没用过&#xff0c;但那几个国产数据库也听说过 这不&#xff0c;刚开始用&#xff0c;语法都不熟…

概率统计·概率论的基本概念【条件概率】

条件概率 定义 条件概率与积事件的区别 条件概率——在A事件发生的前提下&#xff0c;发生B 积事件——AB同时发生 性质 **注意&#xff08;3&#xff09;要在B1&#xff0c;B2……是互斥事件 &#xff08;6&#xff09;用得多 纯乐&#xff0c;自己都说了&#xff08;6&…