vi/vim 编辑器 --基本命令

1 vi/vim编辑器介绍 

vi 是visual interface 的简称,是Linux中最经典的文本编辑器

vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大方便了程序的设计和编辑性。

2 vi/vim编辑器的三种工作模式

命令模式(Command mode)

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动不同的功能。

此模式下,不能自由进行文本编辑。

 输入模式(Insert mode)

也就是所谓的编辑模式、插入模式。

此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode)

 以:开始,通常用于文件的保存、退出。

2.1 命令模式

 如果需要通过vi\vim编辑器编辑文件,输入如下命令

vi 文件路径

vim 文件路径        一般直接使用vim,因为vim兼容vi的所有功能

 注意:1)如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。

             2)如果文件路径表示的文件存在,那么命令用于编辑已有文件。

示例

vim test.txt        若文件不存在,会自动创建新文件并进入命令模式

再点击  i  ,进入输入模式

对内容进行编辑,输入this a test

点击Esc,退出输入模式,进入命令模式

在命令模式下,输入:进入底线命令模式

在底线命令模式下(即在 : 基础上),再输入wq ,回车进行保存并退出

命令模式快捷键

以下为在命令模式下,各种进入输入模式的快捷键 

模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置之后进入输入模式
命令模式I (大写i )在当前行的开头,进入 输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式Esc任何情况下点击Esc都能回到命令模式

 以下还有一些命令模式下的快捷键

命令描述命令描述
键盘上、键盘k向上移动光标dd删除光标所在行的内容
键盘下、键盘j向下移动光标nddn是数字,删除当前光标向下n行
键盘左、键盘h向左移动光标yy复制当前行
键盘右、键盘L向右移动光标nyyn是数字,复制当前行和下面的n行
0移动光标到当前行的开头p粘贴复制的内容
$移动光标到当前行的结尾u撤销修改
pageup(PgUp)向上翻页ctrl+r方向撤销修改
pagedown(PdDn)向下翻页gg跳到首行
/进入搜索模式G跳到行尾
n向下继续搜索dG从当前行开始,向下全部删除
CTRL+n向上继续搜索dgg从当前行开始,向上全部删除
d$从当前光标开始,删除到本行的结尾d0从当前光标开始,删除本行的开头
2.2 底线命令模式

 注意:点击Esc可退回命令模式。

以下为底线命令模式下的一些常用命令: 

:wq保存并退出
:q仅退出
:q!强制退出
:w仅保存
:set nu显示行号
:set nonu取消行号显示
:set paste设置粘贴模式
:set nopaste取消粘贴模式

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

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

相关文章

轻松识别Midjourney等AI生成图片,开源GenImage

AIGC时代,人人都可以使用Midjourney、Stable Diffusion等AI产品生成高质量图片,其逼真程度肉眼难以区分真假。这种虚假照片有时会对社会产生不良影响,例如,生成公众人物不雅图片用于散播谣言;合成虚假图片用于金融欺诈…

支持华为GaussDB数据库的免费开源ERP:人力资源管理解决方案概述

开源智造所推出的Odoo SuperPeople数字化解决方案将HR和薪资数据与财务、项目规划、预算和采购流程连接起来,消除了多套系统给企业带来的信息孤岛问题。 ——复星集团 人力资源中心 高经理 一种更具吸引力、更有洞察力的人员管理方式 什么是开源智造Odoo的人力资源…

【Vue】后端返回文件流,前端预览文件

let date;request({url: this.$route.query.url,method: get,responseType: blob,}).then(resp > {date respthis.path window.URL.createObjectURL(new Blob([resp], {type: "application/pdf"}))}).catch((e) > {//旧版本浏览器下的blob创建对象window.Blo…

中产医学产康AI智慧云发布会暨中产学院2024年度盛典圆满成功

【向光而行】中国医学产康AI智慧云服务平台发布会暨中产学院2024年度盛典 前言 开新局,迈新步,谋新篇,创新绩。中产医学产康AI智慧云服务平台发布会 暨中产学院2024年度盛典于2024年1月10日在郑州.涵唐酒店成功举办。本次年会以“【向光而行…

跟着cherno手搓游戏引擎【7】Input轮询

在引擎程序中任何时间,任何位置都能知道按键是否按下、鼠标的位置等等信息。 与事件系统的区别:事件系统是在按下时调用并传递按键状态;轮询是每时每刻都能获取按键状态 创建基类: YOTO/Input.h:名如其意 #pragma …

php反序列化之pop链构造(基于重庆橙子科技靶场)

常见魔术方法的触发 __construct() //创建类对象时调用 __destruct() //对象被销毁时触发 __call() //在对象中调用不可访问的方法时触发 __callStatic() //在静态方式中调用不可访问的方法时触发 __get() //调用类中不存在变量时触发(找有连续箭头的…

wins安装paddle框架

一、安装 https://www.paddlepaddle.org.cn/install/quick?docurl/documentation/docs/zh/install/pip/windows-pip.html 装包(python 的版本是否满足要求: 3.8/3.9/3.10/3.11/3.12, pip 版本为 20.2.2 或更高版本 ) CPU 版:…

用VSCode玩STM32的烧录工具 CooCox Cortex Flash Programmer

一、下载软件 经热心兄弟推荐的版本,不知道有没有版权,如有版权问题,请通知删除。 CSDN - 0积分下载:https://download.csdn.net/download/qq_49053936/88744187 二、生成bin文件 插件不同,方法有所不同,各…

编写RedisUtil来操作Redis

目录 ​编辑 Redis中文网 第一步:建springboot项目 第二步:导依赖 第三步:启动类 第四步:yml 第五步:Redis配置类 第六步:测试类 第七步:编写工具类 RedisUtil 第八步:编写…

现代雷达车载应用——第3章 MIMO雷达技术 3.5节 汽车MIMO雷达的挑战

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 3.5 汽车MIMO雷达的挑战 在本节中,我们讨论了汽车MIMO雷达的设计挑战,包括多径反射存在时的测角、波形正交性和高效高分辨率角…

如何保证新加入的依赖版本与当前项目的其他相关依赖版本兼容?或者如何确保依赖版本升级后适合当前项目?或者如何保证新引入的依赖版本适合当前项目?

如何保证新加入的依赖版本与当前项目的其他相关依赖版本兼容?或者如何确保依赖版本升级后适合当前项目?或者如何保证新引入的依赖版本适合当前项目? 如题,可通过maven仓库找出各个版本之间的对应关系举例 如题,可通过m…

二阶构造设计模式

目录 构造函数回顾 深入思考 实验 构造函数的真相 半成品对象 引入二阶构造设计模式 设计理念 二阶构造设计模式图 二阶构造示例 完整demo 小结 构造函数回顾 类的构造函数用于对象的初始化。构造函数与类同名并且没有返回值。构造函数在对象定义时自动被调用 深入…

iphone 5s的充电时序原理图纸,iPAD充电讲解

上一篇写了iphone 5的时序。那是电池供电的开机时序。iphone 5s也是差不多的过程,不说了。现在看iphone5s手机充电时候的时序。iphone5s充电比iphone5充电简单了很多。 首先是usb接口接到手机上,usb线连接到J7接口上。J7接口不只是接usb,还能…

[bat批处理] 一键清理 Windows10 系统垃圾

文章目录 🚀使用批处理一键清理 Windows10 系统垃圾🔨编写批处理文件 🚀使用批处理文件🔨注意事项🚀总结 🚀使用批处理一键清理 Windows10 系统垃圾 Windows10 系统在使用过程中会产生大量的临时文件、日志…

基于YOLOv8深度学习的苹果叶片病害智能诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

引领未来:话务数据展示大屏助力企业决策

在当今信息爆炸的时代,企业需要一个直观、高效的数据展示平台来帮助他们快速获取、分析和决策。山海鲸可视化话务数据展示大屏,就是这样一款引领企业迈向高效决策新纪元的产品。 一、什么是山海鲸可视化话务数据展示大屏? 山海鲸可视化是一款…

【不用找素材】ECS 游戏Demo制作教程(1) 1.15

一、项目设置 版本:2022.2.0f1 (版本太低的话会安装不了ECS插件) 模板选择3D URP 进来后移除URP(因为并不是真的需要,但也不是完全不需要) Name: com.unity.entities.graphics Version: 1.0.0-exp.8 点击…

HTML概述、基本语法(表格整理、标签、基本结构)

一、HTML概述 HTML指的是超文本标记语言 超文本:是指页面内可以包含图片、链接、声音、视频等内容 标记:标签(通过标记符号来告诉浏览器页面该如何显示) 我们可以打开浏览器,右击页面,点击查看网页源代码&…

Java队列-Disruptor 的使用

一、什么是 Disruptor 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。 可以拿 JDK 的 BlockingQueue 做一个简单对比,以便更好地认识 Disruptor 是什么…

第二百六十九回

文章目录 概念介绍设置方法示例代码内容总结 我们在上一章回中介绍了Card Widget相关的内容,本章回中将介绍国际化设置.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的国际化设置是指在App设置相关操作,这样可以让不同国家的…