VI编辑器

VI编辑器简介:

vi是一个命令,也是一个命令行下的编辑器,它有如下的功能:

  • 打开文件、新建文件、保存文件
  • 移动光标
  • 文本编辑
  • (多行列间)复制、粘贴、删除
  • 查找替换

现场调试没有gui形式的编译工具,vi是唯一的选择(vim也可以不过需要另行下载)

模式

vi编辑器有三种模式,每个模式的侧重点不一样:

a)一般模式(光标的移动,复制、粘贴、删除)

b)编辑模式(编辑文本)

c)命令行模式(查找和替换)

vi编译器的三种模式的切换:

  • 当不知道什么模式的时候,按ESC返回到一般模式。
  • ⚫ wq(write quit)
  • ⚫ i(insert)

文件的打开、新建和保存

在Desktop路径下建立test1.txt文件:

打开终端

进入Desktop目录

创建文件:vi + 文件名

进入vi的一般模式,点击i进入编辑模式在光标处插入数据

输完数据后,点击ESC退出编辑模式回到一般模式

在一般模式下输入    :wq  (保存退出回到终端命令行)

如果不想保存输入“:q!”即可强制退出

一般模式下的命令列表:

在一般模式输入命令的时候要先输入“:”然后输入下边的命令(无法对文本进行编辑)

编辑模式:

一般vi打开文件的时候都是在一般模式下,这时候可以输入下边的字母进入到编辑模式对文本进行编辑。

快速移动光标:

在一般模式下可以使用下边的快捷键移动光标或者翻页。

注意:当不知道vi编辑器处于什么模式的时候,使用ESC返回到一般模式

快速定位到某一行:(一般模式下)

  • ngg:光标移到第n行的行首(1gg:第一行行首、2gg:第二行行首)
  • G转跳到文件结尾

快速确定列的位置:(一般模式下)

  • 0:光标在移动至当前行的行首
  • $:光标制动到当前行的行末
  • fx:搜索当前行中下一个字母x出现的地方

文本的复制、粘贴、撤销、删除

 通过vi 命令打开文本的时候文本在在一般模式下进行下列操作:

复制:

yy                     //复制当前行

nyy                   //复制当前行以及其后的n-1行

粘贴:

p                       //粘贴

删除:

cc                       //删除整行并且修改整行的内容

dd                       //删除改行不提同修改功能

ndd                     //删除当前行以及其后的n-1行

x                         //删除光标所在的字符

X                         //删除光标前的字符

s                          //删除光标所在的字符

撤销:

u                           //撤销上一步操作

文本的查找和替换

 通过vi 命令打开文本的时候文本在在一般模式下进行下列操作:

查找:

/abc                 //从光标处开始向文件尾搜索abc,后按下n或者N

  • n:在同一方向反复搜索一次搜索命令
  • N:在反方向上反复上一次搜索命令

替换:

:%s/p1/p2/g                //将文本中的所有p1用p2替代

:%s/p1/p2/gc               //将文本中的所有p1用p2替代,替换时需要确认

“s”: 全称:substitute替换

“g”: 全称:global全局

“c”: 全称:confirm,确认

更多命令参考:

Linux 命令大全 | 菜鸟教程

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

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

相关文章

这可能是最全面的计算机组成原理面试八股文了

第一章 计算机系统概述 “较简单,不做过多赘述,后面会详细学到” 第一节 计算机系统层次结构 1.计算机系统的基本组成:硬件软件 2.计算机硬件的基本组成:运算器存储器控制器输入设备输出设备 3.系统软件和应用软件 系统软件…

2024首更---Web Service 教程

Web Services 简介 Web Services 可使您的应用程序成为 Web 应用程序。 Web Services 通过 Web 进行发布、查找和使用。 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTMLXML 如果您希望首先学习这些项目,请在…

C - Monotonically Increasing

很妙的dfs&#xff1a;记录层数以及前一个数是多少。 代码&#xff1a; int ans[11]; int n,m;void dfs(int u,int pre){if(un1){for(int i1;i<n;i)cout<<ans[i]<< ;cout<<endl;return;}for(int ipre1;i(n-u)<m;i){ans[u]i;dfs(u1,i);} }void solve(…

一起来看看,C++11标准,那些超实用的新特性有哪些?

C11标准是 ISO/IEC 14882:2011 - Information technology -- Programming languages -- C 的简称&#xff0c;也称为C0x。它由国际标准化组织&#xff08;ISO&#xff09;和国际电工委员会&#xff08;IEC&#xff09;旗下的C标准委员会&#xff08;ISO/IEC JTC1/SC22/WG21&…

使用Scrapy 爬取“http://tuijian.hao123.com/”网页中左上角“娱乐”、“体育”、“财经”、“科技”、历史等名称和URL

一、网页信息 二、检查网页&#xff0c;找出目标内容 三、根据网页格式写正常爬虫代码 from bs4 import BeautifulSoup import requestsheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/53…

一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址

Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址 参考文档 WinForms 应用中的 WebView2 入门 实现 1.安装visual studio 按照官方文档一路操作&#xff0c;可以自行百度或者查看WinForms 应用中的 WebView2 入门。为了避坑&#xff0c;本人安…

《游戏-02_2D-开发》

基于《游戏-01_2D-开发》&#xff0c; 继续制作游戏&#xff1a; 首先给人物添加一个2D重力效果 在编辑的项目设置中&#xff0c; 可以看出unity默认给的2D重力数值是-9.81&#xff0c;模拟现实社会中的重力效果 下方可以设置帧率 而Gravity Scale代表 这个数值会 * 重力 还…

WorkPlus Meet私有化视频会议软件-构建安全高效的内网会议体验

在企业内部&#xff0c;高效的会议协作是推动团队协同和工作效率的关键。而内网会议系统成为了构建安全高效的内部会议体验的必要工具。作为一家领先的内网会议系统&#xff0c;WorkPlus Meet以其卓越的性能和智能化的功能&#xff0c;助力企业实现高效安全的内部会议体验。 为…

【图解数据结构】顺序表实战指南:手把手教你详细实现(超详细解析)

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;图解数据结构、算法模板 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️线性表1.1 &#x1f514;线性表的定义1.2 &#x1f514;线性表的存储结构 二. ⛳️顺序表…

P2P DMA并不是所有场景都会有性能提升

P2P (Peer-to-Peer) DMA技术理论上可以带来性能提升&#xff0c;特别是在特定的工作负载和场景下。例如&#xff0c;当两个高速设备&#xff08;如GPU与NVMe SSD&#xff09;需要频繁进行大量数据交换时&#xff0c;通过P2P DMA&#xff0c;数据可以直接在设备间传输&#xff0…

Three.js 学习笔记之模型(学习中1.20更新) | 组 - 模型 - 几何体 - 材质

文章目录 模型 几何体 材质层级模型组- THREE.Group递归遍历模型树结构object3D.traverse() 模型点模型Points - 用于显示点线模型Line | LineLoop | LineSegments网格模型mesh - 三角形网格模型独有的属性与方法 几何体BufferGeometry缓冲类型几何体BufferGeometry - 基类创…

Servlet系列:两种创建方式(xml,注解)

一、使用web.xml的方式配置&#xff08;Servlet2.5之前使用&#xff09; 在早期版本的Java EE中&#xff0c;可以使用XML配置文件来定义Servlet。在web.xml文件中&#xff0c;可以定义Servlet的名称、类名、初始化参数等。然后&#xff0c;在Java代码中实现Servlet接口&#x…