Linux 文件编辑命令

一、三种模式介绍

命令模式

插入模式(编辑模式)

末行模式

二、模式切换

1.命令模式切换到插入模式
(1) a //进入到当前光标后开始编辑
(2) A //进入到当前光标所在行的行末开始编辑
(3)i //进入当前光标位置开始编辑
(4)I //进入当前光标所在行的行头开始编辑
(5) o //进入当前光标下一行开始编辑
(6)O //进入当前光标上一行开始编辑

2.命令模式切换到末行模式
(1): //对文本的设置或保存工作
(2) / //对文本进行全文向下搜索字符串string
(3)? //对文本进行全文向上搜索字符串string

3.vi/vim常用命令

(1) n dd //删除光标开始向下的n行

例如:现在用vi打开一个main.c文件,文件中有以下代码,在命令模式下进行操作:

在这里插入图片描述

①删除多行

将光标移到某一行,按下数字n,就可以删除从这行开始往下的n行。

此时,假如现在不想要4,5,6这3行,将光标移到第4行,输入:3dd,这3行代码就被删除了:

在这里插入图片描述
②删除一行:

删除一行代码时不用输入1,之间把光标移到要删除的那一行,然后按dd。

现在要删除第四行,就直接把光标移到第4 行,然后按dd就可以删除这一行:

在这里插入图片描述

③这种删除是一种剪切式的删除:

可以将刚刚删除的一行代码粘贴到光标所在的那一行。将光标移到某一行,然后按p,刚刚删除的代码就会粘贴到这一行。

刚刚上面我们删除了一个空行,现在把这个空行粘贴到第5行,把光标移动到第5行,然后按p,此时刚刚删除的空行就粘贴到了第5行的下面,也就是第6行:

在这里插入图片描述

(2)n yy //拷贝光标开始向下的n行

例如:有以下代码:

在这里插入图片描述

①复制一行:

将光标移到某一行,不用按1,直接按yy,改行代码就被复制了。

②复制多行:

将光标移到某一行,要复制从这行开始往下的n行,就按下n,然后按yy,这时从光标开始往下的n行代码就被复制了。

如果现在要复制4,5,6,7这四行代码,就把光标移到第4行,然后按4yy,此时,这4行代码已经被复制了:

在这里插入图片描述

(3) p //粘贴

将光标移到某一行按p将刚刚复制的内容粘贴到光标所在的下一行。

如果要在第8行粘贴刚刚上面复制的4,5,6,7这4行代码,就将光标移到第8行,然后按p:

在这里插入图片描述
(4)u //撤销上一次操作

如果现在要撤销刚刚上面粘贴的代码,就直接按n,即可以撤销上一步粘贴的操作:

在这里插入图片描述

(5) ctrl + r // 恢复上一次撤销操作

如果,要恢复刚刚撤销的内容,就按ctrl + r :

在这里插入图片描述
(6) r和R //替换字符

①r:替换光标所在位置的字符,先按r,在按自己想要替换的字符。

例如,有以下代码:
在这里插入图片描述

现在要把光标所在位置的“n”替换为“y”,就在光标所在位置按r,然后按y将其替换:
在这里插入图片描述
②R:替换从当前光标开始往后的字符,按Esc结束替换。

例如,有以下代码:

在这里插入图片描述

要将从现在光标位置开始往后的字符替换为“ZZZZZZ”,按R,开始替换:

在这里插入图片描述
替换结束之后按Esc结束替换。

(7)cc //清除一行,进入插入模式重写代码,写完之后按Esc回到命令模式

例如,有如下代码:

在这里插入图片描述
现在要清除光标所在这一行进行重写,就按cc,从头开始写:
在这里插入图片描述
在这里插入图片描述
重写之后按Esc回到命令模式。

(8)C //清除当前光标到行末的内容,并进入插入模式进行重写代码,写完之后按Esc回到命令模式

例如,有以下代码:
在这里插入图片描述
现在要清除光标到行末的内容,并进入插入模式重写这段代码,按C:
在这里插入图片描述
重写之后,按Esc返回命令模式:
在这里插入图片描述
(8) shift + 6 //光标移动到当前行的行头
(9) shift + 4 //光标移动到当前行的行尾
(10)G //光标移动到整个文本的最后一行
(11)gg //光标移动到整个文本的第一行
(12)n G //光标移动到第n行
(13) d n G //删除光标到n行的内容
(14)d G //从当前光标位置删除到文件末尾

例如,有以下代码:
在这里插入图片描述
现在要删除光标所在位置11行行头到末尾的内容,就可以按dG:

在这里插入图片描述
(14) y n G //拷贝光标到n行的内容

4.末行模式下的操作
(1):w //保存文本
(2):q //退出编辑
(3):wq //保存并退出
(4):q! //强制退出
(5):w newfile //另存为
(6):set nu //显示行号
(7) :set nonu //取消行号
(8): set hlsearch //设置高亮搜索
(9): set nohlsearch //取消高亮搜索
(10):n //跳转的第n行
(11): n,m s/oldstring/newstring //替换整个文本每行的第一个oldstring

例如,有以下代码:

在这里插入图片描述
现在要把第5行到第15行中,每一行的第一个“toy”替换成“boy”,输入:进入行末模式,然后输入5,15 s/toy/boy
在这里插入图片描述

按回车,即可替换:
在这里插入图片描述

(12) :n, m s/oldstring/newstirng/g //替换整个文本所有的oldstring

例如:有以下代码:

在这里插入图片描述
现在要把第5行到第15行中,所有的“toy”替换成“BBB”,输入:进入行末模式,然后输入5,15 s/toy/BBB/g
在这里插入图片描述

按下回车,完成替换:

在这里插入图片描述

(13) /string //向下搜索string

例如,有以下代码:

在这里插入图片描述
按/,/后面输入要搜索的内容,进行搜索:
在这里插入图片描述
然后按回车,这时按n就可以在文件中从头到尾依次搜索所输入的内容:
在这里插入图片描述
(14)?string //从下向上搜索string

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

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

相关文章

【Java】一只小菜坤的编程题之旅【3】

文章目录 1丶判定是否互为字符重排2、杨辉三角3丶某公司的1个面试题(字符串包含问题) 1丶判定是否互为字符重排 这个题我们用一个非常简单的思想就能实现,我们先将字符串转换为字符数组,然后对字符数组进行排序,然后再…

数据结构:栈的实现(C实现)

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》 文章目录 前言一、栈的实现思路1. 结构的定义2. 初始化栈(StackInit)3. 入栈(StackPush)4. 出栈(StackPop)5. 获取栈顶元素(StackTop)6. 检查栈是否为空(StackEmpty)7. 销毁栈(StackDestroy) 二、…

VUE3组件

组件基础 {#components-basics} 组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被组织成层层嵌套的树状结构: 这和我们嵌套 HTML 元素的方式类似,Vue 实现了自己的组件…

webpack 热更新的实现原理

webpack 的热更新⼜称热替换(Hot Module Replacement),缩写为HMR。这个机制可以做到不⽤刷新浏览器⽽将新变更的模块替换掉旧的模块。 原理: ⾸先要知道 server 端和 client 端都做了处理⼯作: 在 webpack 的 watch…

BANI时代下的项目管理:如何迎接挑战与机遇

BANI时代的介绍与特点 BANI时代的起源 BANI这个概念首次被提出是为了描述和理解我们所处的复杂、多变、不确定的时代。与VUCA(Volatile, Uncertain, Complex, Ambiguous)相比,BANI更加准确地捕捉了我们面临的现实挑战。VUCA重点关注外部环境…

学习篇之React Fiber概念及原理

什么是React Fibber? React Fiber 是 React 框架的一种底层架构,为了改进 React 的渲染引擎,使其更加高效、灵活和可扩展。 传统上,React 使用一种称为堆栈调和递归算法来处理虚拟 DOM 的更新,这种方法在大型应用或者…

macOS使用ffmpeg与QT进行音视频推拉流

1.先启动流服务器 ./mediamtx 2.开始推流: ffmpeg -re -stream_loop -1 -i /Users/hackerx/Desktop/test.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/stream 3. 安装ffmpeg 4.4 brew install ffmpeg4 4.添加ffmpeg头文件目录与库目录 5.链接ffmpeg相关库…

使用QT纯代码创建(查找)对话框详细步骤与代码

一、创建项目文件 打开Qt Creator->文件->新建文件或项目->选择Qt Widgets Application 为项目起名字 输入类的名字 二、 了解每个文件的作用 项目创建完毕之后就会出现以下几个文件,先来分别介绍以下这些文件的作用。 Headers->finddialog.h——很显…

如何通过CSS选择器选择一个元素的子元素?如何选择第一个子元素和最后一个子元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 选择一个元素的子元素⭐ 选择第一个子元素和最后一个子元素⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…

0基础学习VR全景平台篇 第81篇:全景相机-临云镜如何直播推流

临云镜全景相机是阿里巴巴定制全景设备,实现空间三维信息的快速采集,与阿里云三维空间重建平台搭配,帮助品牌商与平台以较低的成本完成空间的快速采集,并支持对室内/室外空间的三维全景展示及空间漫游,同时支持VR浏览、…

8.10论文阅读

文章目录 The multimodal MRI brain tumor segmentation based on AD-Net摘要本文方法损失函数 实验结果 max-vit - unet:多轴注意力医学图像分割摘要本文方法实验结果 The multimodal MRI brain tumor segmentation based on AD-Net 摘要 基于磁共振成像(MRI)的多模态胶质瘤…

轻松转换TS视频为MP4,实现优质视频剪辑体验

如果你是一个视频剪辑爱好者,你一定会遇到各种视频格式之间的转换问题,特别是将TS视频转换为MP4格式。别担心,我们的视频剪辑软件将为你提供最简单、高效的解决方案! 首先第一步,我们要进入媒体梦工厂主页面&#xff…