Linux-vi编辑器命令使用

一、初始-vi 

1、 vi-打开文件并且定位行

有可能会遇到打开一个文件,并定位到指定行的情况
例如,知道某一行代码有错误,可以快速定位到出错代码的位置
可以使用以下命令打开文件
$ vi 文件名 +行数
提示:如果只带上+ 而不指定行号,会直接定位到文件末尾
实操:用gedit 改错一个程序,编译看到行号 vi +行号

2、vi-异常情况的处理 

如果vi异常退出(比如没保存就关闭了终端窗口),磁盘上可能会保存有 交换文件
下次再使用vi编辑文件时,会看到以下屏幕信息,按下字母d删除交换文件即可 

二、vi三种模式及其切换 

1、命令行模式

        打开文件首先进入命令行模式。这是使用vi的入口可以通过命令,可以进行复制、粘贴、删除、定位等操作 。

 

2、插入模式(编辑模式) 正常的编辑文字。 

 

3、底行模式

  • 光标位于屏幕的底行。
  • 底行模式可以输入命令,进行文件的保存、查找、替换等
  • 要退出vi,返回到控制台,也是在底行模式下输入退出命令
  • 底行模式是vi的出口

 

4、vi三种模式的切换 

 

5、vi 底行模式下相关命令 

 

6、vi模式切换命令 

 

7、vi 命令-学习提示 

① vi的命令较多,不要期望能短期全部记住,更不要期望短期灵活运用
② 多敲多练,习惯一段时间,就潜移默化的越用越好了,忘记了多查、多复习
③ vi的定位:个别命令忘记了,不熟练,只会影响编辑速度而已
④ vi的使用熟练度,不影响继续学习后面知识
⑤ 坚持使用,无心插柳柳成荫 

三、vi 光标命令 

1、快速移动

 

2、行内移动 

 

3、行数移动 

 

4、屏幕移动(浏览代码) 

 

四、vi剪切/复制/粘贴及相关命令

1、选中文本(可视模式) 

 

  •  esc可以放弃选中,回到命令模式 

2、vi 删除/剪切文本 

 

  • 如果使用可视模式已选中了一段文本,d和x都可以删除选中文本
  • 命令d、x类似图形界面的剪切操作(ctrl + x)

3、vi 复制粘贴 

 

4、vi 复制剪切 

  • y0-将光标至行首的字符拷入剪贴板
  • y$-将光标至行尾的字符拷入剪贴板
  • d0-将光标至行首的字符剪切入剪贴板
  • d$-将光标至行尾的字符剪切入剪贴板
  • range y-块复制
  • range d-块剪切 

5、vi 撤销和恢复撤销 

 

五、vi查找/替换/分屏命令 

1、vi 替换命令 

 

  • R可以进入替换模式,替换完成后,按Esc可以返回命令模式
  • 替换命令的作用就是不用进入编辑模式,对文件进行轻量级的修改 

2、vi 查找命令 

 

  • 如果不想看到高亮显示,可以随便查找一个文件中不存在的内容即可 

3、vi 查找并替换 

  • 需要在末行模式下执行:范围s/旧文本/新文本/g

                s代表替换
                g全部替换(默认换一行中的第1个)

  • 举例:

                10,20s/hello/HELLO/g 第10行到第20行
                .,20s/hello/HELLO/g 当前行到第20行
                5,$s/hello/HELLO/g 第5行到最后一行
                %s/旧文本/新文本/g 全文替换 

  • 确认替换

                :%s/旧文本/新文本/gc
        会出现提示:
                y-yes 替换
                n-no 不替换
                a-all 替换所有
                q-quit 退出替换 

4、vi 分屏命令 

 

  • ctrl h 光标到左边窗口
  • ctrl l 光标到右边窗口
  • ctrl j 光标到下面窗口
  • ctrl k 光标到上面窗口 

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

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

相关文章

(C++) 函数重载机制

文章目录 🔢前言🕹️参考资料🕹️实例代码 🔢重载机制🥇名称查找🥈模板函数处理🥉重载决议 END关注我 🔢前言 在C中函数重载是一个非常强大由复杂的问题。 在C中本身就有许多函数机…

外汇天眼:金融服务补偿计划(FSCS)确认已任命清算人为TenetConnect Services有限公司

2024年6月5日,Tenet Group有限公司的董事们任命了Interpath有限公司的Ed Boyle、Howard Smith和Rob Spence为联合清算人。Ed Boyle和Rob Spence也被任命为其子公司Tenet有限公司、TenetConnect有限公司和TenetConnect Services有限公司的联合清算人。Tenet Mortgage…

手把手Linux高可hadoop集群的搭建

高可用集群的搭建 在搭建高可用集群之前,如果搭建了完全分布式hadoop,先执行stop-all.sh停掉所有的服务,只保留jdk和zookeeper的2个服务,然后再去搭建。 目标: 高可用集群简介部署Hadoop高可用集群 一.…

备战618!各广告平台SDK版本更新;最新支持eCPR指标;新增自动创建广告源平台 | TopOn产品更新

「TopPro 每月产品速递」是由TopOn最新推出的产品专栏,将会以月为周期梳理TopOn最新产品动态,致力于为互联网从业者提供优质服务,引领行业产品发展。 TopPro | 3~5月产品速递 2024.03.01-05.30 01 eCPR指标支持 // 功能描述 TopOn后台支…

2.1 初识Windows程序

Windows程序设计是一种面向对象的编程。Windows操作系统以数据结构的形式定义了大量预定义的对象作为操作系统的数据类型。Windows动态链接库提供了各种各样的API接口函数供Windows应用程序调用。一个Windows应用程序是运行在Windows操作系统之上的。这些API接口函数的调用所实…

大学汉语言文学古代汉语/中国古代文学试题及答案,分享几个实用搜题和学习工具 #其他#微信#知识分享

大学生搜题软件是一种方便快捷的工具,可以帮助大学生们在解答问题和完成作业时节省时间和精力。 1.彩虹搜题 这是个老公众号了 界面简洁友好,操作简单易上手。无论你是谁,都能轻松搜题。 下方附上一些测试的试题及答案 1、《中华人民共和…

MySQL8 全文索引

文章目录 创建索引使用索引总结 创建索引 之前未尝试过使用MySQL8的全文索引,今天试一试看看什么效果,否则跟不上时代了都。   创建索引非常简单,写句SQL就行。 create table goods(id integer primary key auto_increment,name varchar(2…

铁塔、烟囱建筑倾斜监测的倾角仪的分类以及工作原理

前言 倾角传感器是一种用于测量物体相对平面倾斜角度的仪器。倾角传感器又称作倾角仪、倾斜仪、测斜仪、水平仪、倾角计,经常用于物体的水平角度变化的精确测量,用它可测量被测平面相对于水平位置的倾斜度、两部件相互平行度和垂直度;已成为桥…

蓝卓热电行业解决方案

能源是人类社会发展过程中的永恒话题,热电联产作为电能和热能同时生产的能源利用形式,相较传统的火力发电具有能源利用效率高等优点,可以高效解决能源及环境问题。目前,世界各国都将热电联产作为更高效、更环保的能源供给体系而有效措施大力推广。 如何降本增效、减…

组件的注册和引用

在Vue中,开发者可以将页面中独立的、可重用的部分封装成组件,对组件的结构,样式和行为进行设置。组件是 Vue 的基本结构单元,组件之间可以相互引用。 一.注册组件 当在Vue项目中定义了一个新的组件后,要想在其他组件中…

【全开源】防伪溯源一体化管理系统源码(FastAdmin+ThinkPHP+Uniapp)

🔍防伪溯源一体化管理系统:守护品质,追溯无忧 一款基于FastAdminThinkPHP和Uniapp进行开发的多平台(微信小程序、H5网页)溯源、防伪、管理一体化独立系统,拥有强大的防伪码和溯源码双码生成功能&#xff0…

为何瑞士银行成了富人的“保险箱”?

​瑞士银行,这个名字大家耳熟能详,为啥呢?因为它被誉为“全球最安全银行”。那么,这“最安全”的名头是怎么来的呢?它的金库又藏在哪儿呢? 话说在1930年代,德国纳粹迫害犹太人,导致…

政安晨【零基础玩转各类开源AI项目】解析开源:IDM-VTON:改进真实虚拟试穿的扩散模型

目录 概述 要求 数据准备 服饰代码 推理 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 项目地址&…

STM32-电灯,仿真

目录 前言: 一. 配置vscode 二. 新创建软件工程 三. 仿真 1.新建工程想到,选择名称和路径 2.从选中的模板创建原理图 3.不创建PCB布版设计 4.选择没有固件项目 5.完成 四.源码 五. 运行效果 六. 总结 前言: 这篇主要是配置vscode和创建仿真,和点灯的完整代码,欢迎大…

nodejs---fs模块,文件读写操作详解,自定义一个文件写入方法

fs模块导入 Node.js 同时支持 CommonJS 和 ES 模块系统(自 Node.js v12 以来) // 两种模块导入方式 import * as fs from fs;// Es6:这种方式需要在package.json中配置"type": "module" const fs require(fs);// commonJs:如果你…

肥胖与代谢综合征,膳食纤维干预的相关进展

谷禾健康 肥胖和代谢综合征在全球范围内日益流行,是21世纪人类健康面临的重大威胁之一。据世界卫生组织(WHO)全球数据估计,目前全球约13%(即近65亿)成年人口受肥胖症影响。 肥胖和代谢综合征对健康的危害包括增加患心血管疾病、糖尿病和高血压的风险&…

短视频矩阵系统----可视化剪辑独立开发(采用php)

短视频矩阵系统源头技术开发: 打磨短视频矩阵系统的开发规则核心框架可以按照以下几个步骤进行: 明确系统需求:首先明确系统的功能需求,包括短视频的上传、编辑、发布、播放等环节。确定系统的目标用户和主要的使用场景&#xff…

智能数据分析(1)Lecture 6-8b

Lecture 6: Generative Models 生成模型 vs 判别模型 判别模型(Discriminative Models) 判别模型的主要任务是直接学习输入 x x x 和类别 y y y 之间的关系。它们不关心数据的生成过程,而是直接估计类别的边界。 定义:判别模…

Win10系统无法安装msi文件问题

winR输入services.msc打开服务 找到Windows Installer并启动 输入msiexec /package “msi文件路径”

perccli查看磁盘和Raid卡

1、安装 source /etc/profile chmod 755 /usr/sbin/perccli2、磁盘 perccli /c0 show all3、raid卡 cc perccli /c0 show cc 4、raid卡 pr perccli /c0 show patrolread