vim介绍_vim是什么意思-程序员宅基地

技术标签: 编辑器  linux  vim  

一、vim

1.1、vim介绍

vim 具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计。

vi与vim之间的区别

vim是vi 升级版

配置文件是Linux

字符操作界面中的文本编辑器-vi,以便更好地管理和维护系统中的各种配置文件。

vi是一个功能强大的全屏幕文本编辑工具,一直以来都作为类UNIX

操作系统的默认文本编辑器。vim是vi文本编辑器(简称vi编辑器)的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是习惯上也将vim称为vi。为了使用方便,可以设置一个命令别名,将vi指向vim程序(本书中以vim程序为例)。

Vi编辑器的工作模式

vi:编辑器是工作在字符终端环境下的全屏幕编辑器,因此编辑界面相对比较简单,没有为用户提供鼠标操作和菜单系统,而是通过按键命令实现相应的编辑和操作功能。在vi编辑界面中可以使用三种不同的工作模式,即命令模式、输入模式和末行模式,在不同的模式中能够对文件进行的操作也不相同。

命令模式:启动vi

编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。

输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi编辑器的最后一行会出现"-- INSERT --”的状态提示信息。

末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号":"提示符。

命令模式、输入模式和末行模式是vi编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。例如,从命令模式按: (冒号)键可以进入末行模式,按a、 i、 o等键可以进入输入模式;在输入模式、末行模式均可按Esc键返回命令模式。

模式切换:

在命令模式中,按a、i、o

等键可以快速切换至输入模式,同时确定插入点的方式和位置,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按Esc键即可。常见的几个模式切换键及其作用如下。

a:在当前光标位置之后插入内容

A:在光标所在行的末尾(行尾)插入内容

i:在当前光标位置之前插入内容

I:在光标所在行的开头(行首)插入内容

o:在光标所在行的后面插入一个新行

O:在光标所在行的前面插入一个新行

在这里插入图片描述

1.2、光标移动

在这里插入图片描述

1.3、复制、粘贴、删除

在这里插入图片描述

1.4、文件内容查找

在这里插入图片描述

1.5、撤销编辑及保存退出

在这里插入图片描述

1.6、保存文件及退出vi编辑器

在这里插入图片描述

1.7、文件内容替换

在这里插入图片描述

1.8、打开新文件或读入其他文件内容

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_53073002/article/details/122044935

智能推荐

Python 之 Pandas 文件操作和读取 CSV 参数详解_python read_csv-程序员宅基地

文章浏览阅读6.7k次,点赞8次,收藏48次。Pandas 读取文件,CSV 文件读取参数详解。_python read_csv

IIS写入漏洞利用工具解析_iis短域名-程序员宅基地

文章浏览阅读1k次。概述通过学习文档内容,熟悉并掌握 IIS 写入漏洞利用工具的利用方法,了解具体的功能内容,亲自实践操作,并根据课程需求完成相关任务。工具功能说明IIS 写入漏洞利用工具是由桂林老兵写的一款漏洞利用工具,专门针对 IIS 写入漏洞。接下来我们具体介绍一下相关的使用。1.第一部分数据包格式该功能模块默认的数据包传输方法有 7 种,分别是:OPTIONS 返回服务器的各种信息PUT 生成上传文件数据包的。POST 用来提交表单MOVE 是改名数据包。COPY 是复制数据包。DELETE_iis短域名

Pocket——Web3生态是变革区块链技术的中流砥柱-程序员宅基地

文章浏览阅读3k次。在过去的一年中,加密经济经历了新一轮波动,DeFi生态领域的应用是快速发展的代表之一。在DeFi顶级风口下,NFT火爆出圈,不断获得全球范围各层组织对NFT的认可,但NFT从本质上来看依旧处于fomo阶段,何时稳定发展依旧要看市场反馈。与此同时,元宇宙概念在2021年下半年火爆起来,元宇宙作为新型虚实相融的互联网应用和社会形态,通过沉浸式的体验,让虚拟进一步接近现实。但元宇宙能否成功搭建新型数字社会体系,依然处于概念发展阶段。而不论是DeFi生态,亦或是NFT及元宇宙生态,都离不开区块链底层技术的支

vue2/vue3 阻止控制台报错 并用普通方式将报错信息打印在控制台上_vue屏蔽报错-程序员宅基地

文章浏览阅读3.6k次,点赞5次,收藏9次。主要的代码就是 VueApp获取挂载元素 然后改写errorHandler 系统报错 和 warnHandler 系统警告方法。可以看到 控制台并没有报错 只是输出了报错信息 这样的字符串 我们也可以直接传给服务器 存储报错信息。也是在vue节点中 重写errorHandler和 warnHandler 方法。只用console输出一下 警告或报错提示 便结束方法。vue3 在 main.js中编写代码。vue2 在 main.js中编写代码。..._vue屏蔽报错

webpack学习笔记_hp webpack-程序员宅基地

文章浏览阅读972次,点赞18次,收藏3次。最近在巩固之前学过的知识,便想先从webpack开始,也是重新巩固学习,因为是蛮久之前学的所以一些新版本也还不够了解,希望得到一些大佬的指导让自己进步快一些,这里先提前谢谢各位老师了!_hp webpack

nps内网穿透在Windows系统下的搭建_nps windows搭建-程序员宅基地

文章浏览阅读1.8w次,点赞5次,收藏28次。本文主要讲解并记录了一次nps的实际应用,主要完成了在Windows系统下内网穿透的nps解决方案。主要用于将无公网IP的个人电脑,借助服务器的公网IP和相应端口映射到公网,使个人电脑能被外网访问。_nps windows搭建

随便推点

C语言 自减运算--_c语言自减-程序员宅基地

文章浏览阅读1.4k次。自减运算:–其用法用++的用法一模一样,是在原来值的基础上减掉1对于+=的用法,还有其它几种形式:i -= 1; //等价于: i = i-1;i = 1; //等价于: i = i1;i /= 3; //等价于: i = i/3;i %= 2; //等价于: i = i%2;..._c语言自减

ZZZ Project All 37 Product-国内最完整版-程序员宅基地

文章浏览阅读3.1k次。ZZZ Project All Product将为您带来ZZZ Project的所有程序,产品能够有效的增强.net框架,并支持使用批处理命令优化数据库的性能,并为您的项目添加许多功能,例如Entity Framework Classic使用不仅可提供Entity Framework 6(EF6)的所有功能,并且将会带来更好的性能,而Entity Framework Extensions...

反向代理与负载均衡------Nginx安装与使用-程序员宅基地

文章浏览阅读129次。什么是反向代理首先要知道什么叫正向代理,举例:一个微商卖东西,随着顾客量增多,就需要招聘代理人员帮忙卖,在程序上直观的效果就是这个很容易理解,那么什么是反向代理。反向代理:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

sort()函数_sort(x,partial=2)[2]-程序员宅基地

文章浏览阅读387次,点赞5次,收藏2次。STL的排序函数sort()的定义有两种方式:(1)sort(begin,end)(2)sort(begin,end,compare)无返回值,基于快速排序,范围是[first,last),包括first,不包括last,复杂度是O(nlog2(n))sort()的比较函数可以用系统的4种函数排序,常用的是降序和升序,即less()和greater()#include<bit..._sort(x,partial=2)[2]

关灯小游戏-程序员宅基地

文章浏览阅读320次。关灯小游戏:简单说明:简单代码实现:import javax.swing.*;import java.util.*;public class Light { public static void main(String[] args) { //初始化棋盘 int[][] games = new int[10][10]; R..._关灯小游戏

uniapp swiper Tab选项卡切换高度自适应问题_uniapp 页面tab 切换一瞬间没有内容 会缩小页面高度-程序员宅基地

文章浏览阅读3.4k次。uniapp swiper Tab选项卡切换高度自适应问题uniapp swiper Tab选项卡切换高度自适应问题swiper需要指定固定高度,但数据是动态加载的,所以高度需要自适应。基本思路:就是获取展示内容的高度 赋值给swiper。但是中间有好多坑,淌过了在这里分享一下思路,经验不足,有改进的地方欢迎多多指点<wuc-tab :tab-list="tabList3" :tab..._uniapp 页面tab 切换一瞬间没有内容 会缩小页面高度