vi编辑器的常用方法

一、背景描述

        在我们连接操作Linux服务器的时候,需要对其配置文件等内容进行一些增删改的操作,一般情况下我们直接使用Linux系统自带vi编辑器进行相应的操作,熟悉vi的常用功能对于我们编辑一些较大的文件效率能够有所提升,使用起来更加得心应手。

二、vi编辑器常用方法

2.1、vi编辑器介绍

        vi编辑器(类似Windows的文本编辑器)对文件内容进行操作【vi 文件名称+文件后缀名】即可打开文件。

Vi编辑器介绍
序号vi编辑器的模式模式说明
1常规模式

打开文件后默认是常规模式,在常规模式中可以使用各种快捷键,帮我们快速编辑文件。比如:快速按下键盘的D键2次(dd)就是删除当前光标所在整行的数据;

2编辑模式需要先切换为英文输入法,然后按i、o、a这三个键中的任意一个键都可以进入到编辑模式,这样才能向文件中写内容,内容写完之后,需要回到常规模式(在编辑模式中直接按下esc键即可回到常规模式
 
3命令模式

在常规模式时按:(英文的冒号)进入命令模式,命令模式按esc回到常规模式,命令模式下输入q然后按下Enter键(回车)表示退出文件。

2.2、vi编辑器的命令模式 

        使用【vi 文件名称】打开文件后进入常规模式后,此时在输入英文的冒号(:)即可进入命令模式,此次如果要退出命令模式只用按下键盘的ESC键即可退出。

vi编辑器的命令模式
序号命令模式命令示例和说明
1:set number

给文件中的每一行都添加上行号,方便查看内容所属行和对应的操作

2:行号

光标跳转到指定行

【:5】表示光标跳转到第5行

3/需要搜索的内容

从当前光标位置开始向后搜索内容,按下键盘的【n】是向下搜索,按下键盘的【N】向上搜索

【/Sqlserver】表示搜索文件中含有Sqlserver的内容

4?需要搜索的内容

从当前光标位置开始向后搜索内容,按下键盘的【n】是向下搜索,按下键盘的【N】向上搜索

5:行号s/需替换的旧值/需替换为的新值/g

使用新值替换指定行号的旧值内容

【:6s/Running/测试运行/g】表示将6行数据中的Running内容替换为测试运行

6:开始行号,结束行号s/需替换的旧值/需替换为的新值/g

使用新值替换开始行号到结束行号的旧值内容($s表示最后一行)

【:7,19s/excute/测试执行/g】表示从7行开始到19行中包含excute的内容都替换为测试执行

7:%s/需替换的旧值/需替换为的新值/g

搜索整个文件,并将所有内容使用新值替换指定行号的旧值内容

【:%s/Loading/测试加载/g】表示将整个文件中所有的Loading替换为测试加载

8:%s/需替换的旧值/需替换为的新值/gc搜索整个文件,并将所有内容使用新值替换指定行号的旧值内容,且每次替换前都确认是否替换【y】表示替换【n】表示不替换【a】表示全部替换
9:q退出不保存
10:q!强制退出不保存
11:wq保存并退出
12:wq!强制保存并退出

2.3、vi编辑器的常规模式

        使用【vi 文件名称】打开文件后进入常规模式后,我们可以对文件内容进行查看移动光标等操作(如:向下翻页,向上翻页、跳转到文件头,文件尾、跳转到当前行的第一个字符、最后一个字符等操作)

vi编辑器的常规模式
序号常规模式命令说明
1ctrl+f向下翻一页
2ctrl+b向上翻一页
3ctrl+u向上翻半页
4ctrl+d向下翻半页
5gg跳转到文件的头部开始位置
6G跳转到文件的尾部位置(对应的按键是:shift+g)
70跳转到当前光标所在的行的开始位置(不论该行是否有缩进空格等内容)
8^跳转到当前光标所在行的第一个字符位置(对应的按键是:shift+6)
9$跳转到当前光标所在行的最后一个字符位置(对应的按键是:shift+4)
10行号gg跳转到指定行
11行号G跳转到指定行(对应的按键是:shift+g)

2.4、vi编辑器的常规模式删除和复制

         使用【vi 文件名称】打开文件后进入常规模式后,需要对文件内容进行一些删除和复制操作,除了进入编辑模式移动光标和delete键操作外,还有一些快捷命令操作,如下列表所示:

vi编辑器常规模式下的删除和复制
序号常规模式的命令说明
1x按一下x键则删除当前光标所在位置的一个字符
2需删除的字符数x

删除当前光标所在位置后的字符数

(如:6x 就表示删除当前光标所在位置后的6个字符)

3u撤销刚才的操作
4dd删除光标所在行的数据(其实dd操作是剪切)
5dw删除当前光标所在位置的一个单词
6yy复制当前光标所在行数据内容
7需复制的数据行数yy

复制当前光标所在行开始及其下面的行数数据内容

(如:6yy 表示从光标所在行开始下面的5行数据共6行数据内容到粘贴板中)

8小p将粘贴板的内容粘贴到当前光标所在行的下面
9大P将粘贴板的内容粘贴到当前光标所在行的上面

2.5、vi编辑器的编辑模式

   使用【vi 文件名称】打开文件后进入常规模式后,

1、按下键盘的【i】键是进入编辑模式且光标就停留在常规模式下的位置;

2、按下键盘的【o】键是进入编辑模式且光标切换到下一行的开始位置;

3、按下键盘的【a】键是进入编辑模式且光标就停留在常规模式下后一个位置;

同时可以使用上下左右的箭头键盘移动光标(或者H、I、J、K键代表左下上右移动);可以使用【DELETE】键或【←】键删除内容。

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

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

相关文章

全国公共汽车、出租车拥有情况及客运量、货运量数据

基本信息. 数据名称: 全国公共汽车、出租车拥有情况及客运量、货运量数据 数据格式: Shp、Excel 数据时间: 2020-2022年 数据几何类型: 面 数据坐标系: WGS84 数据来源:中国城市统计年鉴 数据可视化. 2022年全年公共汽车客运总量数据示意图 2022年公路客…

Python 基础:使用 unittest 模块进行代码测试

目录 一、测试函数2.1 通过案例2.2 不通过案例2.3 添加新测试 二、测试类2.1 单个测试案例2.2 多个测试案例 三、总结 遇到看不明白的地方,欢迎在评论中留言呐,一起讨论,一起进步! 本文参考:《Python编程:…

第六十八:iview里的table,每行数据如果有满足条件的怎么更改颜色

当然了&#xff0c;肯定又是插槽&#xff0c;话不多说直接贴图 话不多说&#xff0c;直接贴代码 <Table :columns"columns" :data"data" border show-summary height"300" sum-text"汇总" v-else :summary-method"handleSumma…

YOLO目标检测综述(2024.6月最新!)

1 基本概念 目标检测&#xff08;Object Detection&#xff09;是计算机视觉领域的重要任务之一&#xff0c;旨在识别图像或视频中的特定目标并将其位置标记出来。与图像分类任务不同&#xff0c;目标检测要求不仅能够识别目标类别&#xff0c;还需要精确地定位目标的位置。由于…

OpenAI封锁中国?国产大模型开启价格战?收好这份LLM选购指南,带你搞定极致性价比 | ShowMeAI

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 1. Cloud LLM capability, cost, performance | 一份开发者最实用的大模型「性价比」计算手册 这是 Harlan Lewis 整理的大语言模型 (LLM) 对比清单…

3d合并模型一直加载有哪些原因---模大狮模型网

当在3D软件中合并3d模型时&#xff0c;可能会遇到加载时间过长或持续加载的情况。这可能是由以下原因之一引起的&#xff1a; 一&#xff1a;模型复杂度 合并的模型可能非常复杂&#xff0c;包含大量的面片、顶点或纹理等。这会增加加载和处理的时间。解决方法是优化模型&…

【第二周】基础语法学习

目录 前言初始化项目文件介绍基本介绍JSWXMLWXSS 常见组件基础组件视图容器match-mediamovable-area/viewpage-containerscroll-viewswiper 表单组件自定义组件 模板语法数据绑定单向数据绑定双向数据绑定 列表渲染条件渲染模板引用 事件系统事件类型事件绑定阻止冒泡互斥事件事…

股指期权交割日期是什么时候?在每个月几号?

今天带你了解股指期权交割日期是什么时候&#xff1f;在每个月几号&#xff1f;期权交割日是指合约到期之日&#xff0c;即投资者需要履行买卖合约的义务。 股指期权的交割日期通常是期权合约到期日的第三个星期五。如果这一天是公共假日&#xff0c;则交割日可能会提前到前一…

Transformers 安装及 google-t5/t5-small 机器翻译示例

文章目录 Github文档推荐文章简介安装官方示例google-t5/t5-small使用脚本进行训练Pytorch 机器翻译数据集下载数据集格式转换 Github https://github.com/huggingface/transformers 文档 https://huggingface.co/docs/transformers/indexhttps://github.com/huggingface/tr…

计算机二级Access操作题总结——综合应用

属性表相关 例1&#xff1a; 不允许输入和修改其中的数据→【是否锁定】 例2&#xff1a; 单击“退出”按钮(名为“bt2”)&#xff0c;调用设计好的宏“mEmp”来关闭窗体。 分组和汇总 对“rSell”报表进行适当设置&#xff0c;使每名雇员的姓名显示在该雇员所售书籍信…

三品PDM项目成功上线 垣发集团携手三品软件迈向智能未来

项目背景 随着全球工业化和城市化进程的不断加快&#xff0c;高空作业车的市场需求日益增长。河南垣发专用车辆集团有限公司&#xff08;以下简称“垣发集团”&#xff09;自2014年成立以来&#xff0c;一直专注于高空作业车系列产品的研发与制造。 作为一家科技导向型企业&am…

Java AWT BorderLayout的使用

目录 背景: 代码例子: 代码详解: 效果展示: 总结: 背景: BoderLayout是Java AWT(Abstract Window Toolkit)和Swing图形用户界面(GUI)库中的一个布局管理器。它用于安排组件(如按钮、标签、面板等)在容器(如窗户、面板等)中的位置。BorderLayout容器划分为五个区域:北(NO…

硬盘空间告急?监控服务器容量,钉钉及时提醒!

在日常的服务器维护中&#xff0c;硬盘容量的监控是非常重要的。如果硬盘容量超过某个阈值&#xff0c;可能会导致服务器无法正常运行&#xff0c;影响业务的正常运作。为了避免这种情况&#xff0c;我们可以编写一个Shell脚本&#xff0c;定期检查硬盘容量&#xff0c;当超过设…

微服务框架中的Eureka和Ribbon的个人理解

微服务框架需要学习的东西很多&#xff0c;基本上我把它分为了五个模块&#xff1a; 第一&#xff1a;微服务技术模块 分为三个常用小模块&#xff1a; 1.微服务治理&#xff1a; 注册发现 远程调用 配置管理 网关路由 2.微服务保护&#xff1a; 流量控制 系统保护 熔断降级 服…

springcloud第4季 分布式事务seata实现AT模式案例

一 seata案例 1.1 背景说明 本案例使用seata的at模式&#xff0c;模拟分布式事务场景&#xff1a;【下订单&#xff0c;减库存&#xff0c;扣余额&#xff0c;改状态】 1.2 初始化脚本 1.2.1 新建seata_order_024 库 1.新建undol_log表 -- for AT mode you must to init…

锐捷AP从其它项目拆下,怎么也加入不了到现在这个网络里来

环境: AP 产品型号:RG-RAP2260G 问题描述: 锐捷AP从其它项目拆下,怎么也加入不了到现在这个网络里来,现网是WIFI5的,想把2260G用来升级,恢复出厂设置后,插上网线,现网找不到这个AP 解决方案: 1.通电重置AP后,连接AP WiFi进入管理页面,要求先快速配置 2.开始配置…

MySQL的隔离级别详解

MySQL的隔离级别详解 MySQL是一个广泛使用的关系数据库管理系统&#xff0c;其事务处理能力是其核心功能之一。事务处理中的隔离级别决定了一个事务在读取或写入数据时如何受到其他并发事务的影响。MySQL提供了四种标准的隔离级别&#xff0c;每种隔离级别在性能和一致性之间做…

算法力扣刷题记录十【19.删除链表的倒数第N个节点】

前言 链表练习&#xff0c;继续 题目&#xff1a;力扣【19.删除链表的倒数第N个节点】 题目阅读 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1…

服务器出现意外情况。(Exception from HRESULT: 0x80010105(RPC E SERVERFAULT))

这种情况一般出现在excel2007版本&#xff0c;下载了什么阅读器之类的 2007改不了这个加载项&#xff0c;需要重装一个其他版本&#xff08;2010版本可以&#xff09; 然后如下操作修改为COM加载项

Python湍流隐式模型耗散粘性方程和大涡流模拟

&#x1f3af;要点 &#x1f3af;达朗贝尔一维波动通解&#xff0c;二维变速模拟 | &#x1f3af;达朗贝尔算子解双曲波形微分方程 | &#x1f3af;耗散系统粘性伯格斯方程快速傅里叶变换算法 | &#x1f3af;二维线性和非线性对流扩散解和湍流隐式建模 &#x1f4dc;偏微分方…