Linux-vi编辑器命令使用

news2024/11/25 11:00:32

一、初始-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 光标到上面窗口 

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

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

相关文章

Python离线查询IP地址对应的国家和城市

使用场景: 在没网的情况下使用python代码实现对ip地址进行查询国家和地市 代码实现: 需要安装 pip install geoip2 库 import geoip2.databasedef get_location_by_ip(ip_address, db_path):reader geoip2.database.Reader(db_path)try:response r…

[网络基础]——计算机网络(OSI)参考模型 详解

🏡作者主页:点击! 🌐网络通信基础TCP/IP专栏:点击! ⏰️创作时间:2024年6月2日21点59分 🀄️文章质量:93分 目录 🎟️OSI基本概念 🎄分层架构…

基于jeecgboot-vue3的Flowable流程-已办任务(一)

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、api接口部分 import { defHttp } from //utils/http/axios;enum Api {flowRecord /flowable/task/flowRecord,finishedListNew /flowable/task/finishedListNew,revokeProcess /flo…

LeetCode---二叉树

144/94/145. 二叉树的前、中、后序的递归遍历 以中序遍历为例,其余类似: 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 代码示例: /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tr…

Hive的常规操作

Hive常规操作 hive常用交互命令 -e执行sql语句 [rootmaster ~]# hive -e "show databases";-f执行sql脚本 [rootmaster ~]# hive -f /usr/local/demo.sql查看hive中输入的所有命令 [rootmaster ~]# cat ~/.hivehistory操作库 创建库 语法: create…

kafka-集群-主题创建

文章目录 1、集群主题创建1.1、查看 efak1.2、创建 主题 my_topic1 并建立6个分区并给每个分区建立3个副本1.2.1、查看 my_topic1 的详细信息 1.3、停止 kafka-01实例,端口号为 9095 1、集群主题创建 1.1、查看 efak 已经有三个kafka实例 1.2、创建 主题 my_topic1…

数据分析中的统计学基础及Python具体实现【数据分析】

各位大佬好 ,这里是阿川的博客,祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…

Java项目如何外发告警日志到企业微信

前言 最近领导交代了一个需求,就是有些许客户不单单满足平台告警日志外发到邮箱、短信的形式,还要以消息聊天的形式外发给企业微信。 具体操作 1、注册企业微信。 2、登录企业微信,找到应用管理,创建应用。 3、创建完之后需要记录以下图片中两个值的信息。 4、然后记录下…

什么是MES系统?有什么作用?

MES系统解决方案是专门针对制造企业设计,在MES系统的应用下,实现专业的工厂、车间生产信息化管理方案,帮助制造企业提高生产效率。针对目前制造行业的生产管理状况,以及提升企业生产效率和企业竞争力的需求,实施MES系统…

SpringCloud Hystrix服务熔断实例总结

SpringCloud Hystrix断路器-服务熔断与降级和HystrixDashboard SpringCloud Hystrix服务降级实例总结 本文采用版本为Hoxton.SR1系列&#xff0c;SpringBoot为2.2.2.RELEASE <dependency><groupId>org.springframework.cloud</groupId><artifactId>s…

Java Web学习笔记14——BOM对象

BOM&#xff1a; 概念&#xff1a;浏览器对象模型&#xff08;Browser Object Model&#xff09;&#xff0c;允许JavaScript与浏览器对话&#xff0c;JavaScript将浏览器的各个组成部分封装为对象。 组成&#xff1a; Window&#xff1a;浏览器窗口对象 介绍&#xff1a;浏览…

Android Graphics 显示系统 - Android Jank detection with FrameTimeline

“ 最近有公司同事在处理UI卡顿及FPS自动化监测的问题&#xff0c;我也顺便看了一点相关的内容&#xff0c;其中在Perfetto的官方说明文档中有一篇关于利用FrameTimeLine进行Jank监测的解读&#xff0c;个人觉得蛮有意思的&#xff0c;借助工具翻译该篇文章并加上本人拙劣的解读…

Java 数据库连接(JDBC)的使用,包括连接数据库、执行SQL语句等

一、简介 Java Database Connectivity&#xff08;JDBC&#xff09;是Java应用程序与关系数据库进行交互的一种API。它提供了一组用于访问和操作数据库的标准接口&#xff0c;使开发人员能够使用Java代码执行数据库操作&#xff0c;如查询、插入、更新和删除等。 二、JDBC架构…

红酒保存中的软木塞与瓶身保护

云仓酒庄雷盛红酒&#xff0c;以其卓着的品质和精美的包装赢得了众多消费者的喜爱。在红酒的保存过程中&#xff0c;软木塞与瓶身保护是至关重要的环节。本文将深入探讨这两方面的问题&#xff0c;以帮助消费者更好地理解和欣赏云仓酒庄雷盛红酒。 首先&#xff0c;我们来谈谈软…

关于调用百度AI开放平台短文本在线合成API接口 Open api characters limit reached 问题

官方示例代码中心&#xff1a; https://console.bce.baidu.com/support/?_1668482508529#/api?productAI&project语音技术&parent语音合成&apitext2audio&methodpost 一、调试时&#xff0c;若提示 16: Open api characters limit reached&#xff08;{"…

《维汉翻译通》App全新升级:维吾尔语短文本翻译、汉语拼音标注、维语词典、谚语格言名句等功能统统免费!还支持维吾尔文OCR识别提取文字!

2024年《维汉翻译通》App迎来重大更新&#xff01;这次升级不仅带来了全新的功能&#xff0c;还为所有用户提供了更加便捷的服务体验。以下是我们新版本的主要亮点&#xff1a; 维语短文本翻译免费啦&#xff01; 我们深知语言是沟通的桥梁&#xff0c;为了让更多人能够跨越语…

Python 短文本匹配,短文本语义相似度,基于大模型的短文本匹配,基于LLMs的短文本语义相似度识别,短文本语义扩充和匹配

1.任务描述 之前在做疾病相似度匹配的时候&#xff0c;堪称史诗级难题&#xff0c;虽然最后加上规则以及一些nlp模型&#xff0c;取得了差强人意的效果&#xff0c;但是短文本的语义相似度匹配一直属于比较难以攻克的难题 2.思路 随着近年大模型的飞速发展&#xff0c;就之前…

七天进阶elasticsearch[two]

批量保存 批量保存是通过_bulk API来实现的 请求方式 post 请求地址 _bulk 通过_bulk操作文档,一般至少有两行参数 第一行用于确定要干什么(插入,修改还是删除) 第二行才是操作的数据; 当然以上是标准操作,也可以不遵循标准操作,使用不同的请求方式来完成 批量保存demo…

基于 MediaPipe 的 2D 和 3D 的人体姿态追踪:Rerun 展示

点击下方卡片&#xff0c;关注“小白玩转Python”公众号 概述 我们探讨一个使用 MediaPipe 在 2D 和 3D 中追踪人体姿态的用例。使这次探索更加有趣的是通过开源可视化工具 Rerun 提供的可视化功能&#xff0c;可以全方位展示人体姿态的动态。在这篇博文中&#xff0c;您将学习…

知识图谱的应用---智慧政务

文章目录 智慧政务典型应用 智慧政务 智慧政务即通过“互联网政务服务”构建智慧型政府&#xff0c;利用云计算、移动物联网、人工智能、数据挖掘、知识管理等技术&#xff0c;提高政府在办公、监管、服务、决策中的智能水平&#xff0c;形成高效、敏捷、公开、便民的新型政府&…