当前位置: 首页 > news >正文

Linux——vi编辑器

目录

一、基本简介

二、命令模式下的常用按键

1、光标跳转按键

2、复制、粘贴、删除

三、编辑模式

四、末行模式

1、查找关键字并替换

2、保存退出

3、其他操作

五、模式切换


一、基本简介

1、最早可追随到1991年,全称为“Vi IMproved”

2、模式

        ——命令模式

        ——末行模式

        ——编辑模式

3、使用vi/vim命令编辑文件

        ——在每次运行vim编辑器时,默认进入命令模式

        格式:vim 文件

二、命令模式下的常用按键

1、光标跳转按键

功能按键
光标按单个字符移动↑、↓、←、→
光标按照单词向后跳转w
光标按照单词向前跳转b
光标跳转至行首^
光标跳转至行尾$
文档首行第一个字符gg
文档最后一行第一个字符G
跳转至指定行行号gg 或者 行号G

2、复制、粘贴、删除

功能按键
删除光标所在行dd
删除从光标处开始的n行ndd
删除光标前至行首字符d^
删除光标及之后的所有字符d$
复制光标所在行yy
复制从光标处开始的n行nyy
将缓冲区的内容粘贴到光标所在行的下一行p
将缓冲区的内容粘贴到光标所在行的上一行P
撤销操作u

三、编辑模式

功能按键
在光标前插入i
在光标所在行行首第一个非空字符前插入I
在光标后插入a
在光标所在行末尾插入A
在光标所在行上一行插入O
在光标所在行下一行插入o
删除光标所在字符并进入插入模式s
删除当前行并进入插入模式S

四、末行模式

——按:或者 / 可从命令模式切换到末行模式

——按esc键可从末行模式切换到命令模式

1、查找关键字并替换

功能按键
从上而下在文件中查找字符串“word”(可按n键定位到下一个匹配的被查找 字符串)/word
将当前行中查找到的第一个字符“old”替换为“new”:s /old/new
将当前行中查找到的所有字符“old”替换为“new”:s /old/new/g
在行号“n1,n2”范围内替换所有的字符串“old”为“new”:n1,n2 s/old/new/g
将整个文件内的字符串“old”替换为“new”:% s/old/new/g

2、保存退出

功能按键
退出vi/vim编辑器,未对文件做任何编译操作才可退出:q
不保存文档内容,强制退出vi/vim编辑器:q!
保存文件:w
将文件另存为/dir/file:w /dir/file
保存文件内容并退出vi/vim编辑器:wq 或者 zz
强制保存并退出:wq!

3、其他操作

功能按键
在当前文件中读入其他文件内容:r /dir/file
查找含有“word”的行并删除:g/word/d
显示行号:set nu
关闭行号显示:set nonu
删除n1-n2行内容:n1,n2 d
复制n1-n2行到第n行后面:n1,n2 co n

五、模式切换

相关文章:

Linux——vi编辑器

目录 一、基本简介 二、命令模式下的常用按键 1、光标跳转按键 2、复制、粘贴、删除 三、编辑模式 四、末行模式 1、查找关键字并替换 2、保存退出 3、其他操作 五、模式切换 一、基本简介 1、最早可追随到1991年,全称为“Vi IMproved” 2、模式 ——命…...

【Linux学习笔记】权限

1. 普通用户和root用户权限之间的切换2. 权限的三个w2.1. 什么是权限(what)2.1.1. 用户角色2.1.2. 文件属性 2.2. 怎么操作权限呢?(how)2.2.1. ugo-rwx方案2.2.2. 八进制方案2.2.3. 文件权限的初始模样2.2.4. 进入一个…...

Aspose转pdf乱码问题

一、问题描述 ​ 在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码(如图),但是在win服务器上使用可以正常转换 二、问题原因 由于linux服务器缺少对应的字库导致文件转换出现乱码的 三、解决方式 1.将window中字体(c:\windows\fonts)放到linux…...

table中的td内部的元素不能与td等高的问题

解决该问题的办法: td标签内部的元素使用table布局&#xff0c;但是需要注意的是td必须设置高度&#xff0c;高度为任意值都可以&#xff0c;虽然设置了高度&#xff0c;但是td依然会被内部内容的高度撑开 <template><table><tr><td><div class&q…...

Layui + Flask | 实现数据表格修改(案例篇)(09)

此案例内容比较多,建议滑到最后点击阅读原文,阅读体验更佳。后续也会录制案例视频,将在本周内上传到同名的 b 站账号。 接下来演示用 flask + layui 搭建一个学员信息管理的案例 这个案例将会利用 flask 做后端,layui table 组件做前端,基于 restful api 完成一个学员信息…...

BCC源码编译和安装

接前一篇文章&#xff1a;BCC源码下载 1. 进入源码根目录 进入到BCC源码根目录。命令及结果如下&#xff1a; $ cd bcc ~/eBPF/BCC/bcc$ ls cmake CONTRIBUTING-SCRIPTS.md docs images libbpf-tools man scripts src CMakeLists.txt …...

linux上gitlab备份与还原

三 Gitlab备份 1.gitlab安装 1.1 添加镜像地址 添加镜像地址的目的是为了提高国内用户软件下载的速度&#xff0c;编辑(新建)文件gitlab-ce.repo&#xff0c;指令&#xff1a; vi /etc/yum.repos.d/gitlab-ce.repo复制 输入&#xff1a; [gitlab-ce] namegitlab-ce # 清华…...

【精华】具身智能:人工智能的下一个浪潮

从符号主义到联结主义&#xff0c;智能体与真实世界的交互得到日益重视。上世纪五十年代的达特茅斯会议之后的一段时期内&#xff0c;对人工智能的研究主要限于符号处理范式&#xff08;符号主义&#xff09;。符号主义的局限性很快在实际应用中暴露出来&#xff0c;并催动了联…...

【线性回归、岭回归、Lasso回归分别预测患者糖尿病病情】数据挖掘实验一

Ⅰ、项目任务要求 任务描述&#xff1a;将“diabetes”糖尿病患者数据集划分为训练集和测试集&#xff0c;利用训练集分别结合线性回归、岭回归、Lasso回归建立预测模型&#xff0c;再利用测试集来预测糖尿病患者病情并验证预测模型的拟合能力。具体任务要求如下&#xff1a; …...

037:vue项目监听页面变化,动态设置iframe元素高度

第037个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…...

探索前端生成二维码技术:简单实用的实现方式

引言 随着智能手机的普及&#xff0c;二维码已经成为了现代生活中不可或缺的一部分。在许多场景下&#xff0c;我们都需要将某些信息或链接以二维码的形式展示出来。本文将介绍一种简单实用的前端生成二维码的技术&#xff0c;并给出具体的代码示例。 二维码生成原理 首先&a…...

python装13的一些写法

一些当你离职后&#xff0c;让老板觉拍大腿的代码 1. any(** in ** for ** in **) 判断某个集合元素&#xff0c;是否包含某个/某些元素 代码&#xff1a; if __name__ __main__:# 判断 list1 中是否包含某个/某些元素list1 [1,2,3,4]a any(x in [5,4] for x in list1) 输…...

黑马JVM总结(十八)

&#xff08;1&#xff09;G1_FullGC的概念辨析 SerialGC&#xff1a;串行的&#xff0c;ParallelGC&#xff1a;并行的 &#xff0c;CMS和G1都是并发的 这几种垃圾回收器的新生代回收机制时相同的&#xff0c;SerialGC和ParalledGC&#xff1a;老年代内存不足触发的叫FullGC…...

Android调用相机拍照,展示拍摄的图片

调用相机&#xff08;隐式调用&#xff09; //自定义一个请求码 这里我设为10010int TAKE_PHOTO_REQUEST 10010;int RESULT_CANCELED 0;//定义取消码//触发监听&#xff0c;调用相机image_camera.setOnClickListener(new View.OnClickListener() {Overridepublic void onCli…...

企业如何找媒体发稿能收录且不被拒稿,媒介盒子无偿分享

媒平台像头条、百家号、微信、微博、搜狐等平台&#xff0c;都支持全自助发稿&#xff0c;拥有庞大的用户群体。也正是因为这些平台的发展&#xff0c;衍生出了一大批自媒体KOL&#xff0c;影响力与传统媒体不相上下甚至更胜。 媒体宣发是企业营销的必要途径之一。软文是成本低…...

利用cms主题构造木马(CVE-2022-26965)

简介 CVE-2022-26965是Pluck CMS 4.7.16版本存在一个远程shell上传执行漏洞。 攻击者可利用此漏洞通过构造恶意的主题包进行上传并执行&#xff0c;未经授权访问服务器&#xff0c;造成潜在的安全隐患。 过程 1.打开环境&#xff0c;查看源码&#xff0c;发现login.php 2.进…...

【MTK】【WFD】手机投屏到投影仪不显示画面

问题分析: 在投屏过程中,有时候会出现WFD sink端回复的video 格式表不正确,sink表示是支持VESA(3fffffff),但是当手机根据协商结果得到最优分辨率并发送给sink端时,sink端看上去没有正常播放,其实实际上应该是不支持的。 比如我们这个问题就是CES表中的0001ffff,最大…...

多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出

多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出 目录 多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向…...

scrapyd-完整细节

安装scrapyd服务 pip install scrapyd 安装scrapyd客户端 pip install scrapyd-client 安装好以后重新开启cmd输入命令 scrapyd 出现以下结果代表安装成功 打开浏览器输入网址&#xff0c;即可打开界面客户端 http://127.0.0.1:6800/ 回车后显示一下ok内容代表部署成功 回到服…...

【iOS逆向与安全】插件开发之某音App直播间自动发666

1.目标 由于看直播的时候主播叫我发 666&#xff0c;支持他&#xff0c;我肯定支持他呀&#xff0c;就一直发&#xff0c;可是后来发现太浪费时间了&#xff0c;能不能做一个直播间自动发 666 呢&#xff1f;于是就花了几分钟做了一个。 2.操作环境 越狱iPhone一台 frida ma…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...