【Linux运维系列】vim操作
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
- 导航
- 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
- 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
- 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
- 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
- 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
博客目录
- 一.模式切换
- 1.编辑模式
- 2.底线命令行
- 二.一般模式
- 1.方向键
- 2.向上翻一页
- 3.向下翻一页
- 4.向上移动半页
- 5.向下移动半页
- 三.定位跳转
- 1.跳转定位
- 2.跳到首行
- 3.跳到尾行
- 4.跳到 n 行
- 5.绝对行首
- 6.绝对行尾
- 7.第一个非空白
- 四.增删改查
- 1.删除
- 2.复制
- 3.撤销
- 4.翻屏
- 5.修改文本
- 6.常用快捷键
- 五.单词操作
- 1.ciw
- 2.dw
- 3.db
- 4.daw
- 六.底线命令行
- 1.显式行号
- 2.取消行号
- 3.注释
- 4.脚本参数
- 5.查找字符串
- 6.保存
- 7.退出
- 8.强制执行
一.模式切换
1.编辑模式
#在当前位置前面插入
i#在当前位置后面插入
a#在当前位置下一行插入
o
2.底线命令行
#后面可以跟命今或者正则表达式
:#向下搜索指定字符
/字符#向上搜索指定字符
?字符
二.一般模式
1.方向键
h·j·k·l #左·下·上·右
2.向上翻一页
forward
ctrl+f
3.向下翻一页
backword
Ctrl+b
4.向上移动半页
up
Ctrl+u
5.向下移动半页
down
Ctrl+d
三.定位跳转
1.跳转定位
很重要也很实用
| 命令 | 含义 |
|---|---|
| gg | 跳到首行 |
| shift+gg | 跳到末行 |
| :n | 跳到第 n 行 |
| 0 | 行内跳转,绝对行首 |
| shift+0 | 行内跳转,绝对行尾 |
| $ | 行内跳转,绝对行尾,等价于 shift+0 |
| ^ | 行内跳转,行首的第一个非空白字符 |
2.跳到首行
gg
3.跳到尾行
shift+gg
4.跳到 n 行
:n
5.绝对行首
行内跳转,绝对行首
0
6.绝对行尾
行内跳转,绝对行尾
$
7.第一个非空白
行内跳转,行首的第一个非空白字符
^
四.增删改查
1.删除
| 命令 | 含义 |
|---|---|
| x | 删除光标所在处字符 |
| nx | 删除光标所在处后的 n 个字符 |
| dd | 删除光标所在行。ndd 删除 n 行 |
| dG | 删除光标所在行到末尾行的所有内容 |
| D | 删除光标所在处到行尾的内容 |
| :5,7d | 删除指定范围的行 |
| dw | 删除一个单词/光标之后的单词剩余部分 |
| d$ | 删至行尾 |
| d0 | 删至行首 |
2.复制
| 命令 | 含义 |
|---|---|
| np | 复制多遍 |
| yw | 光标移到想要被复制词的词首,输入 |
| p | 光标移到想到粘贴的位置,输入 |
| 5yl | 光标移到想要被复制字符的首位置,若想复制 5 个字符输入: |
| yy | 复制当前行 |
| nyy | 复制多行 (比如 3yy,复制 3 行) |
3.撤销
| 命令 | 含义 |
|---|---|
| u | undo,取消上一步操作 |
| Ctrl + r | redo,返回到 undo 之前,恢复撤销 |
| r | 替换光标所在处的字符 |
| R | 从光标所在处开始替换,按 Esc 键结束 |
| nu | 撤销 n 次 |
4.翻屏
- Ctrl+f: 向下翻一屏
- Ctrl+b: 向上翻一屏
- Ctrl+d: 向下翻半屏
- Ctrl+u: 向上翻半屏
5.修改文本
| 命令 | 含义 |
|---|---|
| A | 在光标当前行末尾插入 |
| o | 在光标当前行的下一行插入新行 |
| i | 在光标前插入 |
| I | 在光标当前行开始插入 |
| a | 在光标后插入 |
| O | 在光标当前行的上一行插入新行 |
| :wq | 保存并退出 |
6.常用快捷键
| 命令 | 含义 |
|---|---|
| Shift+ zz | 保存退出,与“:wq"作用相同 |
| v | 进入字符可视模式 |
| V | 进入行可视模式 |
| CtrI + v | 进入块可视模式 |
五.单词操作
1.ciw
在 Vim 中,要修改光标所在的单词,可以使用 ciw 命令。这个命令可以删除当前单词并进入插入模式,允许你输入新的单词。
具体步骤如下:
- 将光标移动到要修改的单词上。
- 按下
ciw进入插入模式,并删除当前单词。 - 输入你想要替换的新单词。
- 按下
Esc退出插入模式。 - 你就完成了对当前单词的修改。
2.dw
dw:删除从当前光标位置开始到下一个单词开头的字符,包括当前光标所在的字符。
d 表示删除,w 表示单词(word)
3.db
db:删除从当前光标位置开始到当前单词开头的字符,包括当前光标所在的字符。
d 表示删除,b 表示当前单词开头
4.daw
daw:删除光标所在的单词,包括前后的空格。
d 表示删除,w 表示单词(word),a 表示当前单词(around)。
六.底线命令行
1.显式行号
:set nu
2.取消行号
:set nonu
3.注释
多行注释:
- 首先按键盘上的 ESC 进入命令行模式
- 再按 Ctrl+V 进入 VISUAL BLOCK 模式
- 利用上下左右键调整需要注释多少行以及行的宽度
- 再按 Shift+i 或 s 进入插入模式
- 输入代表注释的符号,比如#/
- 再次按 ESC 键,这时就可完成多行注释 可能需要等上一会,不要着急
删除注释:
前三步与加注释相同
- 首先按键盘上的 ESC 进入命令行模式
- 再按 Ctrl+V 进入 VISUAL BLOCK 模式
- 利用上下左右键调整需要去注释多少行以及行的宽度
- 再按 d 即可完成去注释
4.脚本参数
PROFILE=$1
PROFILE=$2
PROFILE=$3
数字表示第几个参数
5.查找字符串
| 需求 | 命令 | 下一个匹配 | 上一个匹配 |
|---|---|---|---|
| 从头开始搜 | /字符串 | n | shift+n |
| 从尾开始搜 | ?字符串 | n | shift+n |
6.保存
:w
7.退出
:q
8.强制执行
:!
觉得有用的话点个赞
👍🏻呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
相关文章:
【Linux运维系列】vim操作
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
Centos服务器部署前后端项目
目录 准备工作1. 准备传输软件2. 连接服务器 部署Mysql1.下载Mysql(Linux版本)2. 解压3. 修改配置4. 启动服务另一种方法Docker 部署后端1. 在项目根目录中创建Dockerfile文件写入2. 启动 部署前端1. 在项目根目录中创建Dockerfile文件写入2. 启动 准备工作 1. 准备传输软件 …...
【初始RabbitMQ】延迟队列的实现
延迟队列概念 延迟队列中的元素是希望在指定时间到了之后或之前取出和处理消息,并且队列内部是有序的。简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列 延迟队列使用场景 延迟队列经常使用的场景有以下几点: 订单在十分…...
spark为什么比mapreduce快?
spark为什么比mapreduce快? 首先澄清几个误区: 1:两者都是基于内存计算的,任何计算框架都肯定是基于内存的,所以网上说的spark是基于内存计算所以快,显然是错误的 2;DAG计算模型减少的是磁盘I/O次数&…...
Unity通过XXpermission插件获取MANAGE_EXTERNAL_STORAGE权限
最近公司准备用Unity做一个安卓端的文件管理器功能,文件管理器已经做完了。刚开始的时候想要申请一下所有文件权限,发现在Unity里面申请所有文件权限(android.permission.MANAGE_EXTERNAL_STORAGE)相对来说比较麻烦。所以准备写一下文章记录一下如何申请…...
「连载」边缘计算(二十一)02-26:边缘部分源码(源码分析篇)
(接上篇) DeviceTwin struct组成剖析 该部分对DeviceTwin struct的组成进行剖析。接着devicetwin struct调用链剖析的实例化DeviceTwin struct(dt : DeviceTwin{})往下剖析,进入DeviceTwin struct的定义,…...
Unity(第四部)新手组件
暴力解释就是官方给你的功能;作用的对象上面如: 创建一个球体,给这个球体加上重力 所有物体都是一个空物体,加上一些组件才形成了所需要的GameObject。 这是一个空物体,在Scene场景中没有任何外在表现,因为…...
【JS】【Vue3】【React】获取鼠标位置的方法:JavaScript、Vue 3和React示例
目录 使用JavaScript原生方法在Vue 3中获取鼠标位置在React中获取鼠标位置 随着Web应用程序的复杂性不断增加,获取用户交互信息变得越来越重要。其中,获取鼠标位置是一项常见的任务,可以用于实现各种交互效果,如拖拽、悬停提示等。…...
[Docker 教学] 常用的Docker 命令
Docker是一种流行的容器化技术。使用Docker可以将数据科学应用程序连同代码和所需的依赖关系打包成一个名为镜像的便携式工件。因此,Docker可以简化开发环境的复制,并使本地开发变得轻松。 以下是一些必备的Docker命令列表,这些命令将在你下一…...
小程序应用、页面、组件生命周期
引言 微信小程序生命周期是指在小程序运行过程中,不同阶段触发的一系列事件和函数。这一概念对于理解小程序的整体架构和开发流程非常重要。本文将介绍小程序生命周期的概念以及在不同阶段触发的关键事件,帮助开发者更好地理解和利用小程序的生命周期。 …...
Springboot中如何记录好日志
Springboot中如何记录日志 日志体系整体介绍 日志一直在系统中占据这十分重要的地位,他是我们在系统发生故障时用来排查问题的利器,也是我们做操作审计的重要依据。那么如何记录好日志呢?选择什么框架来记录日志,是不是日志打越…...
vm 虚拟机中ubuntu环境配置共享文件夹的方式
1. 在虚拟机设置中启用共享文件夹选项,映射到Windows中具体的目录。 2. 启动虚拟机。 3. 挂在cd #查看cd设备文件 sudo blkid#创建挂载点 sudo mkdir -p /media/cdrom#挂载cd sudo mount /dev/sr0 /media/cdrom#卸载cd sudo umount /media/cdrom 4. 执行完挂载后…...
EMQX Enterprise 5.5 发布:新增 Elasticsearch 数据集成
EMQX Enterprise 5.5.0 版本已正式发布! 在这个版本中,我们引入了一系列新的功能和改进,包括对 Elasticsearch 的集成、Apache IoTDB 和 OpenTSDB 数据集成优化、授权缓存支持排除主题等功能。此外,新版本还进行了多项改进以及 B…...
安全架构设计理论与实践
一、考点分布 安全架构概述(※※)安全模型(※※※)信息安全整体架构设计网络安全体系架构设计区块链技术(※※) 二、安全架构概述 被动攻击:收集信息为主,破坏保密性 主动攻击&#…...
SQL注入漏洞解析--less-46
我们先看一下46关 他说让我们先输入一个数字作为sort,那我们就先输入数字看一下 当我们分别输入1,2,3可以看到按照字母顺序进行了排序,所以它便是一个使用了order by语句进行排序的查询的一种查询输出方式 当输入时出现报错提示,说…...
【算法与数据结构】回溯算法、贪心算法、动态规划、图论(笔记三)
文章目录 七、回溯算法八、贪心算法九、动态规划9.1 背包问题9.2 01背包9.3 完全背包9.4 多重背包 十、图论10.1 深度优先搜索10.2 广度优先搜索10.3 并查集 最近博主学习了算法与数据结构的一些视频,在这个文章做一些笔记和心得,本篇文章就写了一些基础…...
【pytorch】常用代码
文章目录 条件与概率torch.tensor()torch.rand()torch.randn()torch.randint()torch.multinominal() 逻辑运算torch.argmax()torch.max()torch.sum()torch.tanh()torch.pow() 功能性操作 torch.nn.functionalF.normalize()F.elu()F.relu()F.softmax() 张量计算torch.zeros()tor…...
GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机)
最终效果 简介 GB28181协议是视频监控领域的国家标准。该标准规定了公共安全视频监控联网系统的互联结构, 传输、交换、控制的基本要求和安全性要求, 以及控制、传输流程和协议接口等技术要求,是视频监控领域的国家标准。GB28181协议信令层面使用的是SIP(Session Initiatio…...
图片录入设备、方式与质量对图片转Excel的影响
随着数字化时代的到来,图片已经成为人们日常生活中不可或缺的一部分。在各行各业中,图片的应用越发广泛,从而促使了图片处理技术的快速发展。然而,图片的质量对于后续数据处理和分析的准确性和可靠性有着至关重要的影响。本文将从…...
Linux:ACL权限,特殊位和隐藏属性
目录 一.什么是ACL 二.操作步骤 ① 添加测试目录、用户、组,并将用户添加到组 ② 修改目录的所有者和所属组 ③ 设定权限 ④ 为临时用户分配权限 ⑤ 验证acl权限 ⑥ 控制组的acl权限 三. 删除ACL权限 一.什么是ACL 访问控制列表 (Access Control List):ACL 通…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

