探索Linux中的VI编辑器:全方位命令详解与实战应用

探索Linux中的VI编辑器:全方位命令详解与实战应用

  • 引言
  • 一、VI编辑器的三种模式
  • 二、VI中的翻页操作
  • 三、搜索与替换功能
  • 四、退出VI编辑器
  • 应用场景举例:
  • 总结

引言

        VI编辑器作为Linux世界中的基石工具之一,其简洁高效的设计理念贯穿了多种操作系统,无论是在服务器管理还是日常脚本编写中都有着不可替代的地位。这里将为您带来全面且详尽的VI编辑器命令详解,特别关注其在实际场景下的翻页浏览、搜索定位以及退出编辑等方面的应用。

一、VI编辑器的三种模式

  1. 命令模式(Command Mode)

    • 进入编辑器默认启动的模式,用于执行各种导航、复制、删除等命令操作。
    • 快捷键示例:Esc 键确保你处于命令模式。
  2. 插入模式(Insert Mode)

    • 用于文本录入,当需要修改或新增内容时,需从命令模式进入。
    • 快捷键示例:按下 i(插入)、a(附加)或 o(打开新行并插入)可进入插入模式;在完成编辑后,按下 Esc 返回命令模式。
  3. 末行模式(Last Line Mode 或 Ex Mode)

    • 用于执行保存、退出、查找替换等全局操作。
    • 进入方法:在命令模式下按下 :(冒号)即可进入末行模式。

二、VI中的翻页操作

  • 全屏翻页
    • 向下翻动一页:Ctrl + f 或者 Page Down
    • 向上翻动一页:Ctrl + b 或者 Page Up
  • 半屏翻动
    • 向下翻动半页:Ctrl + d
    • 向上翻动半页:Ctrl + u

三、搜索与替换功能

  • 搜索

    • 在命令模式下,输入 /search_string(将 search_string 替换为你想要查找的字符串),然后回车。这将从光标当前位置开始向下搜索匹配项。
    • 若要向上搜索,使用 ?search_string
  • 替换

    • 在末行模式下,使用 :s/old/new/g 命令可以替换当前行第一个出现的 old 字符串为 new
    • 若要替换当前行所有出现的实例,加上 g 参数,即 :s/old/new/g
    • 若要在整个文件范围内替换,使用 :%s/old/new/g

四、退出VI编辑器

  • 保存并退出
    • 如果您已经对文档进行了修改,并希望保存更改后退出,可以在末行模式下输入 :wq
  • 不保存并退出
    • 如果想直接离开而不保存所做的更改,使用 :q!
  • 仅保存但不退出
    • 若只需保存文件而不退出,可以使用 :w

应用场景举例:

  1. 快速浏览长文档
    当编辑一个很长的配置文件时,可以通过上述翻页快捷键迅速浏览文档内容。例如,当你需要检查整个配置文件以确定特定设置时,可连续使用 Ctrl + fCtrl + b 来上下翻页查看。

  2. 搜索特定关键字
    假设你在一份代码文档中查找函数 my_function() 的调用位置,只需在命令模式下输入 /my_function() 并回车,VI会立即跳转到下一个匹配项。

  3. 批量替换操作
    在修改大量重复文本时,比如在所有行中将 “old_value” 更改为 “new_value”,则进入末行模式执行 :%s/old_value/new_value/g,确认替换无误后,再通过 :wq 保存并退出。

总结

        掌握VI编辑器的关键在于熟练运用不同模式下的命令,尤其对于经常与Linux系统打交道的人来说,了解和熟悉这些基础操作将极大地提高工作效率。

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

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

相关文章

【AIGC调研系列】LLaVA++整合Phi-3和Llama-3能够实现什么

LLaVA能够为Phi-3和Llama-3带来的主要好处包括: 视觉处理能力的增强:通过整合Phi-3和Llama-3模型,创建了具备视觉处理能力的Phi-3-V和Llama-3-V版本,这意味着这些模型现在能够理解和生成与图像相关的内容[1]。这种能力的增加&…

第G9周:ACGAN理论与实战

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 上一周已经给出代码,需要可以跳转上一周的任务 第G8周:ACGAN任…

ARP学习及断网攻击

1.什么是ARP ARP(Address Resolution Protocol)是一种用于在IPv4网络中将IP地址映射到MAC地址的协议。在计算机网络中,每个网络接口都有一个唯一的MAC地址(Media Access Control address),用于识别网络设备…

c#创建新项目

确保已安装.NET Core SDK。(visual studio installer中可安装) cmd中先引用到文件夹目录下。 mkdir MyConsoleApp MyConsoleApp是项目文件夹的名字。 mkdir 是一个命令行工具,用于在文件系统中创建新的目录(文件夹)…

TCP协议在物联网中实战

一、TCP协议介绍 网上对TCP协议介绍众多,本人按照自己的理解简单介绍一下。 TCP(Transmission Control Protocol, 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输控制层通信协议。 1.1 协议机制 1.1.1 三次握手 &…

imx6ull配置交叉编译环境编译u-boot及linux所遇问题解决记录

文章目录 前言一、问题 1 及解决方法1、问题 1 描述2、问题 1 解决方法 二、问题 2 及解决方法1、问题 2 描述2、问题 2 解决方法 三、问题 3 及解决方法1、问题 3 描述2、问题 3 解决方法 四、问题 4 及解决方法1、问题 4 描述2、问题 4 解决方法 前言 CoM-iMX6UL(L) 是一款兼…

linux远程访问及控制

一、SSH远程管理 1.SSH的简介 SSH远程管理是一种通过 SSH 协议安全地管理远程计算机的方法。允许管理员通过加密的连接从本地计算机或其他远程位置连接到远程计算机,并执行管理任务、配置设置、故障排除等操作。 远程链接的两种方法:SSH 、Telnet S…

Hadoop学习-MapReducer

MapReducer 目录 MapReducer 1.Hadoop是干嘛的 2.maven 3.MapReducer 1)分析数据 写sql 2)写程序 a.mapper程序 b.洗牌 分组排序 c.reducer程序 d.Test类 1.Hadoop是干嘛的 1)分布式存储 HDFS 2)处理大规模数据 Map…

Jammy@Jetson Orin Nano - Tensorflow GPU版本安装

JammyJetson Orin Nano - Tensorflow GPU版本安装 1. 源由2. 问题3. 分析3.1 当前版本Tensorflow 2.16.13.2 GPU版本二进制安装3.3 GPU版本源代码安装3.3.1 问题1 ERROR: no such target //tensorflow/tools/pip_package:wheel3.3.2 问题2 fatal error: cstddef file not found…

《21天学通C++》(第十一章)多态

为什么需要多态? 为了最大限度地减少代码,提高可读性 1.虚函数 虚函数是C中的一种特殊成员函数,它允许在派生类(也称为子类)中重写(覆盖)基类的实现,使用virtual进行声明 在C中&am…

vue+element-ui实现横向长箭头,横向线上下可自定义文字(使用after伪元素实现箭头)

项目场景&#xff1a; 需要实现一个长箭头&#xff0c;横向线上下可自定义文字 代码描述 <div><span class"data-model">{{ //上方文字}}</span><el-divider class"q"> </el-divider>//分隔线<span class"data-mod…

贝叶斯统计实战:Python引领的现代数据分析之旅

贝叶斯统计这个名字取自长老会牧师兼业余数学家托马斯贝叶斯(Thomas Bayes&#xff0c;1702—1761)&#xff0c;他最先推导出了贝叶斯定理&#xff0c;该定理于其逝世后的1763年发表。但真正开发贝叶斯方法的第一人是Pierre-Simon Laplace(1749—1827)&#xff0c;因此将其称为…

智慧农业设备——虫情监测系统

随着科技的不断进步和农业生产的日益现代化&#xff0c;智慧农业成为了新时代农业发展的重要方向。其中&#xff0c;虫情监测系统作为智慧农业的重要组成部分&#xff0c;正逐渐受到广大农户和农业专家的关注。 虫情监测系统是一种基于现代传感技术、图像识别技术和大数据分析技…

【Kafka】Kafka与flume整合(四)

Kafka和Flume整合 Kafka与flume整合流程 Kafka整合flume流程图 flume主要是做日志数据(离线或实时)地采集。 图-1 数据处理 图-1显示的是flume采集完毕数据之后&#xff0c;进行的离线处理和实时处理两条业务线&#xff0c;现在再来学习flume和kafka的整合处理。 配置flume…

【C++算法竞赛 · 图论】树

目录 前言 树 树的定义 树的相关概念 树的遍历 1 先序遍历 2 中序遍历 3 后序遍历 前言 前两篇文章&#xff08;【C算法竞赛 图论】图论基础、【C算法竞赛 图论】图的存储&#xff09;中&#xff0c;介绍了图的相关概念与存储&#xff0c;还不了解的可以去补补课。 …

【ETAS CP AUTOSAR工具链】RTE层基本概念与开发流程

本篇文章续接上篇文章【ETAS CP AUTOSAR工具链】基本概念与开发流程&#xff0c;继续按上篇文章描述的ETAS CP工具链进行开发的基本框架&#xff0c;讲述了“RTE集成与配置”这部分的基本概念与开发流程。 RTE&#xff08;Runtime Environment&#xff09;处于应用层与基础软件…

标贝语音识别技术在金融领域中的应用实例

随着语音识别技术与文本挖掘、自然语言处理等技术的不断融合&#xff0c;智能语音交互技术在金融领域中爆发了出巨大的应用潜力。标贝科技根据自身与金融领域合作的经验为大家梳理出以下几点智能语音识别技术在金融领域中的应用实例。 一、智能柜台服务 语音识别的主要功能就…

微PE制作系统重装以及w11详细安装教程windows11安装pe系统制作

1.在电脑上插入一个U盘&#xff08;U盘的内存不小于8G&#xff09;&#xff0c;鼠标右击插入的【U盘】选择【格式化】。 2.文件系统选择【NTFS】&#xff0c;点击【开始】。 3.点击【确定】。 4.格式化完成&#xff0c;点击【确定】。 5.鼠标右击【PE工具箱V2.3】压缩包选…

unity项目《样板间展示》开发:菜单界面

unity项目《样板间展示》开发&#xff1a;菜单界面 前言UI菜单创建逻辑实现结语 前言 这是这个项目demo教程的最后一节&#xff0c;这节是菜单界面部分的创建 UI菜单创建 创建一个新的场景&#xff0c;在Scene文件中右键选择Create->Scene&#xff0c;创建新的场景 在场景…

【深耕 Python】Data Science with Python 数据科学(16)Scikit-learn机器学习(一)

写在前面 关于数据科学环境的建立&#xff0c;可以参考我的博客&#xff1a; 【深耕 Python】Data Science with Python 数据科学&#xff08;1&#xff09;环境搭建 往期数据科学博文&#xff1a; 【深耕 Python】Data Science with Python 数据科学&#xff08;2&#xf…