Linux 文件编辑命令

news2025/6/17 17:47:46

一、三种模式介绍

命令模式

插入模式(编辑模式)

末行模式

二、模式切换

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.coloradmin.cn/o/862615.html

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

相关文章

P450进阶款无人机室内定位功能研测

在以往的Prometheus 450(P450)无人机上,我们搭载的是Intel Realsense T265定位模块,使用USB连接方式挂载到机载计算机allspark上,通过机载上SDK驱动T265运行并输出SLAM信息,以此来实现室内定位功能。 为进…

Grafana+Prometheus技术文档-进阶使用-监控spring-boot项目

阿丹: 之前已经实现了使用Prometheus来对服务器进行了监控和仪表盘的创建,现在就需要对这些监控方法使用在spring-boot中去。 实现思路: 1、集成Actuator 2、加入Prometheus的依赖 3、配置开放端口、以及开放监控 4、配置Prometheus中的配置…

Talk | ICCV‘23清华大学刘世隆:From Detection to Grounding-迈向更强的开集目标检测

本期为TechBeat人工智能社区第521期线上Talk! 北京时间8月10日(周四)20:00,清华大学博士生—刘世隆的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “From Detection to Grounding-迈向更强的开集目标检测”,他分…

法规标准-ISO 17386标准解读(2010版)

ISO 17386是做什么的? ISO 17386全名为交通信息和控制系统-低速运行操纵辅助装置(MALSO)性能要求和试验程序,其中主要描述了低速运行操纵辅助装置的功能要求及试验方法 类别 低速运行操纵辅助装置根据其覆盖不同监测范围的能力进行分类。每个监测范围…

使用雅可比行列式方法求Henon映射的lyapunov exponent

雅可比行列式方法 计算Henon映射的Lyapunov exponent图谱,算法描述为: 0:初始化:初始化用到的值。参数a:[0,1.4],b:0.3,初始值x和y:1,迭代次数M:2000。 1:遍历参数a:计算不同a值所对应的Henon映射的Lyapunov exponent图谱。 2:迭代M次: 计算得到Henon映射的…

苍穹外卖系统07

哈喽!大家好,我是旷世奇才李先生 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟,回复【项目】获取我为大家准备的项目 最近打算把我手里之前做的项目分享给大家&#…

【kubectl详解】

目录 一、陈述式资源管理方法二、基本信息查看1、查看 master 节点状态2、查看命名空间3、查看命名空间的所有资源4、创建命名空间app5、删除命名空间app6、在命名空间kube-public 创建副本控制器(deployment)来启动Pod(nginx-dz)…

用MariaDB创建数据库,SQL练习,MarialDB安装和使用

前言:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQ…

【Java 集合框架API接口】Collection,List,Set,Map,Queue,Deque

博主:_LJaXi Or 東方幻想郷 专栏: Java | 从跨行业到跨平台 开发工具:IntelliJ IDEA 2021.1.3 Java集合框架 API接口 Collection接口List接口Set接口Map接口Queue接口Deque接口 Java集合API提供了一组功能强大的数据结构和算法, 具有以下作用…

React - useEffect函数的理解和使用

文章目录 一,useEffect描述二,它的执行时机三,useEffect分情况使用1,不写第二个参数 说明监测所有state,其中一个变化就会触发此函数2,第二个参数如果是[]空数组,说明谁也不监测3,第…

外贸路上那些哭笑不得的事情

前几天一个老顾客在软件上联系,说自己上次的订货体验很满意,货物的质量很好,而且服务和回复也很及时, 比起他之前的供货商要好很多,他之前的供货商虽然货物的质量也很好,但是每次询问问题都是要等好久才给…

C++内存管理(new与delete)

这篇文章的主要内容是new与delete的由来,使用new与delete对C堆内存进行管理,(malloc、free)与(new、delete)的区别。希望对C爱好者有所帮助,内容充实且干货,点赞收藏防止找不到! 更多C优质内容跳转: 重生之…

问道管理:短线买入点看哪个指标?

在股市投资中,挑选适宜的买入点是至关重要的。短线投资者常常经过技能剖析来确认买入和卖出的时机。技能剖析中有许多目标可供挑选,但怎么挑选适合短线交易的买入点成为一个关键问题。本文将从多个视点剖析,讨论针对短线交易,应该…

C#/.NET/.NET Core优秀项目和框架每周精选开篇

前言 注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享。 每周精选优秀的C#/.NET/.NET Core项目和框架,帮助开发者发现功能强大、性能优越、创新前沿、简单易用的项目和框架。无论你是寻找灵感、学习新技术、改进…

Redis复制

在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate) 另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave),如下图所…

ROS学习--HelloWorld的实现(C++)

1.创建工作空间并初始化 mkdir -p 自定义空间名称/src cd 自定义空间名称 catkin_make上述命令,首先会创建一个工作空间以及一个 src 子目录,然后再进入工作空间调用 catkin_make命令编译。 2.进入 src 创建 ros 包并添加依赖 cd src catkin_create_pk…

面试热题(单词搜索)

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相…

【软考】2023系统架构设计师考试

目录 1 软考资格设置 2 考试报名 3 考试准备 4 参加考试 5 考试感受 6 其他 1 软考资格设置 2 考试报名 报名网址:https://www.ruankao.org.cn/ 3 考试准备 4 参加考试 2023年下半年系统架构设计师考试时间为11月4、5日。 5 考试感受 6 其他 最近好像有地区…

粉碎文件夹怎么操作?简单4步,轻松完成!

“姐妹们,想问问大家如果想要粉碎文件夹应该怎么操作呀?电脑小白一枚!真的很需要一个方法!感谢!” 在数字化的时代,隐私和数据安全变得尤为重要。当需要彻底删除敏感文件夹时,简单的删除操作可能…

面向云思考安全

Gartner最近的一项研究表明,到 2025 年,85% 的企业会采用云战略,虽然这一数字是面向全球的,但可以看到在中国的环境中,基于云所带来的优势,越来越多的企业也同样开始积极向云转型。 但同时,有报…