Linux——vi编辑器

2023-09-17 20:21:12

目录

一、基本简介

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

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

五、模式切换

更多推荐

MiniGPT-4:用高级大型语言模型增强视觉-语言理解

文章目录摘要1、简介2、相关工作3、方法3.1、第一个预训练阶段3.2、策划高质量的视觉语言域对齐数据集。3.3、第二阶段微调4、演示:5、局限性摘要论文链接:https://arxiv.org/pdf/2304.10592v1.pdf最近的GPT-4展示了非凡的多模态能力,例如从手写文本直接生成网站和识别图像中的幽默

JS 手写call、apply和bind方法

手写call、apply和bind方法一、方法介绍1.1call方法1.2apply方法1.3bind二、方法的实现2.1call方法2.2apply方法2.3bind方法一、方法介绍apply、call和bind都是系统提供给我们的内置方法,每个函数都可以使用这三种方法,是因为apply、call和bind都实现在了

软件设计模式系列之十一——装饰模式

当谈到设计软件系统时,经常需要考虑如何使系统更加灵活、可扩展和易维护。设计模式是一种被广泛采用的方法,用于解决常见的设计问题,并提供了一套可重用的解决方案。装饰模式(DecoratorPattern)是一种结构型设计模式,它允许您在不改变对象接口的情况下动态地添加对象的功能或责任。在本文中,我们将深入探讨装饰模式,包括

ChatGLM P-Tuningv2微调定制AI大模型

前言什么是模型微调想象一下,你正在学习如何弹奏一首钢琴曲目。你已经学会了一些基本的钢琴技巧,但你想要更进一步,尝试演奏一首特定的曲目。这时,你会选择一首你感兴趣的曲目,并开始深度练习。Fine-tuning(微调)在机器学习中也是类似的概念。当我们使用预先训练好的模型(预训练Pre-training)来解决一个特定的任

【uniapp】小程序开发:2 安装uni-ui组件库、使用pinia状态管理、自定义http请求

一、安装uni-ui组件库1、安装pnpmi-Dsasspnpmi@dcloudio/uni-ui2、配置组件自动导入使用npm安装好uni-ui之后,需要配置easycom规则,让npm安装的组件支持easycom打开项目根目录下的pages.json并添加easycom节点://pages.json{"easyco

Remix v2 + Cloudflare Pages 集成 Github 登录

RemixAuth特性完整的服务器端身份验证完整的TypeScript支持基于策略的身份验证轻松处理成功和失败实施自定义策略支持持久会话文章目录RemixAuth特性安装依赖封装服务登录及回调登出/注销TypeScript类型FAQ安装依赖npmi--saveremix-authremix-auth-github需要用

【ArcGIS】基本概念-矢量空间分析

栅格数据与矢量数据1.1栅格数据栅格图是一个规则的阵列,包含着一定数量的像元或者栅格常用的栅格图格式有:tif,png,jpeg/jpg等1.2矢量数据矢量图是由一组描述点、线、面,以及它们的色彩、位置的数据,通过软件算法计算得到的图形。常用的矢量图格式有:shp、eps、dwg、dxf等GIS中矢量数据可以分为地图层

阿里云CDN架构接入WAF应用防火墙案例实践

文章目录1.网站架构变化2.配置WAF应用防火墙2.1.配置网站接入WAF防火墙2.2.WAF防火墙生成CNAME地址2.3.配置WAF防火墙HTTPS证书2.4.WAF防火墙开启HTTP回源SLB3.配置CDN加速器回源WAF防火墙4.将域名DNS解析指向CDN的域名5.测试网站是否能正常访问6.模拟攻击观察WAF的

基于微信小程序的小区服务管理系统设计与实现(源码+lw+部署文档+讲解等)

前言💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗👇🏻精彩专栏推荐订阅👇🏻2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选

【Linux】线程的概念

文章目录📖前言1.线程的引入1.1执行流:1.2线程的创建:1.3线程的等待:2.查看线程2.1链接线程库:2.2ps-aL:2.3获取线程的LWP:3.页表的认识3.1二级页表:3.2页表的实际大小:4.再看线程4.1线程总结:4.2线程的优点:4.3线程的缺点:📖前言从本章开始,我们进入Linux系统编程最后一

HarmonyOS应用开发者基础认证考试题目及答案

小试了一下HarmonyOS应用开发者基础认证考试,顺利通过,下面试题及答案。不过考试好像每次题目不尽相同,好像是抽取的,仅供参考。【判断题】1.所有使用@Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期函数。(错)2.每一个自定义组件都有自己的生命周期

热文推荐