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

【Linux运维系列】vim操作

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐: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.撤销

命令含义
uundo,取消上一步操作
Ctrl + rredo,返回到 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 命令。这个命令可以删除当前单词并进入插入模式,允许你输入新的单词。

具体步骤如下:

  1. 将光标移动到要修改的单词上。
  2. 按下 ciw 进入插入模式,并删除当前单词。
  3. 输入你想要替换的新单词。
  4. 按下 Esc 退出插入模式。
  5. 你就完成了对当前单词的修改。

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.注释

多行注释:

  1. 首先按键盘上的 ESC 进入命令行模式
  2. 再按 Ctrl+V 进入 VISUAL BLOCK 模式
  3. 利用上下左右键调整需要注释多少行以及行的宽度
  4. 再按 Shift+i 或 s 进入插入模式
  5. 输入代表注释的符号,比如#/
  6. 再次按 ESC 键,这时就可完成多行注释 可能需要等上一会,不要着急

删除注释:

前三步与加注释相同

  1. 首先按键盘上的 ESC 进入命令行模式
  2. 再按 Ctrl+V 进入 VISUAL BLOCK 模式
  3. 利用上下左右键调整需要去注释多少行以及行的宽度
  4. 再按 d 即可完成去注释

4.脚本参数

PROFILE=$1
PROFILE=$2
PROFILE=$3

数字表示第几个参数

5.查找字符串

需求命令下一个匹配上一个匹配
从头开始搜/字符串nshift+n
从尾开始搜?字符串nshift+n

6.保存

:w

7.退出

:q

8.强制执行

:!

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

相关文章:

【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 通…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

OCR MLLM Evaluation

为什么需要评测体系?——背景与矛盾 ​​ 能干的事:​​ 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。​​干不了的事:​​ 碰到复杂表格(合并单元…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档?从规划到实践的完整指南 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...

WinUI3开发_使用mica效果

简介 Mica(云母)是Windows10/11上的一种现代化效果,是Windows10/11上所使用的Fluent Design(设计语言)里的一个效果,Windows10/11上所使用的Fluent Design皆旨在于打造一个人类、通用和真正感觉与 Windows 一样的设计。 WinUI3就是Windows10/11上的一个…...

中国政务数据安全建设细化及市场需求分析

(基于新《政务数据共享条例》及相关法规) 一、引言 近年来,中国政府高度重视数字政府建设和数据要素市场化配置改革。《政务数据共享条例》(以下简称“《共享条例》”)的发布,与《中华人民共和国数据安全法》(以下简称“《数据安全法》”)、《中华人民共和国个人信息…...

npm install 相关命令

npm install 相关命令 基本安装命令 # 安装 package.json 中列出的所有依赖 npm install npm i # 简写形式# 安装特定包 npm install <package-name># 安装特定版本 npm install <package-name><version>依赖类型选项 # 安装为生产依赖&#xff08;默认&…...