vim常用命令

news2024/12/30 3:31:16

vim常用三种模式

命令模式(Command mode)
插入模式(Insert mode)
末行模式(Last line mode)

在这里插入图片描述

(一)进入命令模式

vi
或者
vim

(二)命令模式 -> 插入模式

(1)在光标之前插入内容(insert)

i

(2)在光标之后插入内容(append)

a

(3)在广标的下一行开头插入内容

o

(三)插入模式 -> 命令模式

esc

(四)命令模式 -> 末行模式

:

(五)末行模式 -> 命令模式

执行命令结束

(六)退出末行模式

(1)不保存退出

:q!

(2)保存退出

:wq!

一、命令模式(Command mode)

(一)移动光标

(1)移动到首行

gg

(2)移动到尾行

G

(二)复制和粘贴

(1)复制一行

yy
p

(2)复制3行

3
yy
p

(三)剪切和粘贴

(1)剪切一行

dd
p

(2)剪切3行

3
dd
p

(四)删除

(1)删除一行

dd

(2)删除3行

3
dd

(3)删除光标所在的一个单词

db

(4)删除光标所在的一个字符

x

(5)删除光标前面的一个字符

X

(五)撤销和恢复

(1)撤销前面一个操作

u

(2)恢复撤销的操作

ctrl + R

二、插入模式(Insert mode)

正常编辑内容。

三、末行模式(Last line mode)

(一)行号

(1)显示行号

:set nubmer
或者
:set nu

(2)取消行号

:set nonumber
或者
:set nonu

(二)跳转

(1)跳转到第10行

:10

(2)跳转到首行

:0

(三)查找

(1)查找文本中的字符串hello

/hello

(2)上一个

N

(3)下一个

n

(四)替换

(1)替换当前行第一个str1为str2

:s/str1/str2/

(2)替换当前行所有str1为str2

:s/str1/str2/g

(3)替换每一行中第一个str1为str2

:%s/str1/str2/

(4)替换每一行中所有str1为str2

:%s/str1/str2/g

(5)替换当前行开始到最后一行中每一行的第一个str1为str2

:.,$s/str1/str2/

(6)替换当前行开始到最后一行中每一行所有str1为str2

:.,$s/str1/str2/g

(7)替换第n行开始到最后一行中每一行的第一个str1为str2

:n,$s/str1/str2/

(8)替换第n行开始到最后一行中每一行所有str1为str2

:n,$s/str1/str2/g

(五)添加

(通过替换命令实现)

(1)将每行行首添加hello

:%s/^/hello/

(2)将每行行尾添加hello

:%s/$/hello/

(3)将第3行到第5行的行首添加hello

:3,5s/^/hello/

(4)将第3行到第5行的行尾添加hello

:3,5s/$/hello/

(六)删除

(1)删除第10行到第20行

:10,20d

(2)删除所有行

:1,$d
或者
:%d

(3)删除首行到当前行

:1,.d

(4)删除当前行到末行

:.,$d

(5)删除首行

:1d

(6)删除末行

:$d

(7)删除包含hello的行

:g/hello/d

(8)删除不包含hello的行

:%g!/hello/d
或者
:v/hello/d

(9)删除以hello开头的行

:g/^hello/d

(10)删除以hello结尾的行

:g/hello$/d

(11)删除所有空行

:g/^$/d

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

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

相关文章

服务器部署流程与经验记录

服务器部署流程1.项目部署1.1 重置实例密码1.2 配置安全组规则1.3 远程连接服务器1.4 安装所需软件1.5 安装Tomcat1.6 配置宝塔安全组1.7 导入数据库和项目2. 域名注册3. 网站备案1.项目部署 1.1 重置实例密码 1.2 配置安全组规则 1.3 远程连接服务器 使用VNC远程连接&#…

实用调试技巧——“C”

各位CSDN的uu们你们好呀,今天小雅兰的内容是实用调试技巧,其实小雅兰一开始,也不知道调试到底是什么,一遇到问题,首先就是观察程序,改改这里改改那里,最后导致bug越修越多,或者是问别…

51单片机——定时器中断实验,小白讲解,相互学习

定时器介绍 1,CPU时序的有关知识 震荡周期:为单片机提供定时信号的震荡源的周期(晶振周期或外加震荡周期)。状态周期:2个震荡周期为1个状态周期,用S表示。震荡周期又称S周期或时钟周期。机器周期&#xff…

Java-多线程并发-线程的实现、调度和状态转换

线程的实现 线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源( 内存地址、文件I/O等 ),又可以独立调度( 线程是CPU调度的基本单位 )。 Java语言则提供了在不…

300行代码手写spring初体验v1.0版本

70%猜想30%验证 spring:IOC 、DI、AOP、MVC MVC作为入口 web.xml 内部依赖一个DispathcheServlet这样一个接口 先来说一下springMVC的一些基础知识 整体的一个思路: 在web.xml里面进行了一个核心servlet的一个配置 核心就是这个DispatcherServlet …

用列表y表示序列x中每个元素是否被选中 根据列表y返回序列x中被选中的元素 itertools.compress(x,y)

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 用列表y表示序列x中每个元素是否被选中 根据列表y返回序列x中被选中的元素 itertools.compress(x,y) [太阳]选择题 以下关于python代码表述错误的一项是? from itertools import compress …

2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A模块(4)

目录 二、竞赛注意事项 (本模块20分) 一、项目和任务描述: 二、服务器环境说明 三、具体任务(每个任务得分以电子答题卡为准) A-1任务一 登录安全加固(Windows) 1.密码策略 a.更改或创建…

未来的城市:智慧城市定义、特征、应用、场景

智慧城市是通过连接一个地区的物理、经济和社会基础设施,以创新、有效和高效的方式应用和实施技术来发展城市的概念,以改善服务并实现更好的生活质量。智慧城市是一个将信息和通信技术融入日常治理的城市区域,旨在实现效率、改善公共服务、增…

Kafka优化篇-压测和性能调优

简介 Kafka的配置详尽、复杂,想要进行全面的性能调优需要掌握大量信息,这里只记录一下我在日常工作使用中走过的坑和经验来对kafka集群进行优化常用的几点。 Kafka性能调优和参数调优 性能调优 JVM的优化 java相关系统自然离不开JVM的优化。首先想到…

消息队列(kafka简单使用)

Dubbo远程调用的性能问题Dubbo调用普遍存在于我们的微服务项目中这些Dubbo调用全部是同步的操作这里的"同步"指:消费者A调用生产者B之后,A的线程会进入阻塞状态,等待生产者B运行结束返回之后,A才能运行之后的代码Dubbo消费者发送调用后进入阻塞状态,这个状态表示该线…

再学C语言39:指针操作(2)

在编写处理int这样的基本类型的函数时,可以向函数传递int数值,也可以传递指向int的指针 通常直接传递int数值,只有需要在函数中修改该值时,才传递指针 对于处理数组的函数,只能传递指针,这样能使程序效率…

如何运行YOLOv6的代码实现目标识别?

YOLOv6是由美团视觉团队开发的1.环境配置我们先把YOLOv6的代码clone下来git clone https://github.com/meituan/YOLOv6.git安装一些必要的包pip install pycocotools2.0作者要求pytorch的版本是1.8.0,我的环境是1.7.0,也是可以正常运行的pip install -r requirement…

C#服务号推送微信公众号模板消息

一、准备工作微信公众平台:https://mp.weixin.qq.com/申请测试账号:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?actionshowinfo&tsandbox/index微信推送消息模板不需要发布服务器,也不需要填写授权回调域名,只需要…

【Vagrant】下载安装与基本操作

文章目录概述软件安装安装VirtualBox安装Vagrant配置环境用Vagrant创建一个VMVagrantfile文件配置常用命令概述 Vagrant是一个创建虚拟机的技术,是用来创建和管理虚拟机的工具,本身自己并不能创建管理虚拟机。创建和管理虚拟机必须依赖于其他的虚拟化技…

11 OpenCV图像识别之人脸识别

文章目录1 Eigenfaces1.1 建模流程1.2 示例代码2 Fisherfaces2.1 建模流程2.2 示例代码3 Local Binary Histogram3.1 建模流程3.2 示例代码OpenCV 提供了三种人脸识别方法:Eigenfaces Eigenfaces是一种基于PCA(Principal Component Analysis&#xff0c…

多城市二手车买卖发布管理小程序开发

多城市二手车买卖发布管理小程序开发 功能特性: 为你介绍二手车微信小程序的功能特性。 车辆分类搜索,支持按品牌、售价、年龄、上牌时间、排量等筛选。 车源发布,支持用户一键发布二手车,平台审核上线,发布可编辑、删除等操作。…

【结构体版】通讯录

👦个人主页:Weraphael ✍🏻作者简介:目前是C语言学习者 ✈️专栏:项目 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x…

扬帆优配|五千亿巨头一度涨停! 4天3倍,港股又现“狂飙”股!

周一,A股三大指数走势分化。到午间收盘,沪指震荡走高涨近1%,深证成指涨0.75%,创业板指继续弱势调整。 盘面上,钢铁、煤炭、大金融等权重板块团体走强,三大通讯运营商一同拉升,其间我国电信盘中一…

合作协议书合同怎么写?

合作协议书合同怎么写?以品牌推广的合作协议书合同为例,参考内容如下:业务合作协议甲方(项目方):乙方(客户推荐方):甲乙双方本着平等自愿、互惠互利原则,就结…

(十五)docker安装sentinel,客户端配置规则本地持久化

一、简介 操作系统:Linux CentOS 7.3 64位 docker版本:19.03.8 sentinel版本:1.8.0 二、实践 1、拉取镜像 docker pull bladex/sentinel-dashboard:1.8.0 2、运行容器 docker run --name sentinel \ -p 8858:8858 \ --privilegedtrue …