vim 工具的使用
注:以下操作都在普通模式下进行
光标的移动操作
gg
定位到代码的第一行
shift+g
定位到代码的最后一行
n+shift+g
定位到第n行
shift+6
:
特定一行的开始
shift+4
特定一行的结尾
上下左右的移动光标
h:
向左移动光标
j:
向下移动光标
k:
向上移动光标
l:
向右移动光标
w
以单词为单位向右移动
b
以单词为单位向左移动
对行的操作
复制光标所在的行:yy
如果你想要复制5行(从光标所在行开始往下数) 你可以使用:5 yy
如果你想要复制n行 同理 你可以使用 n yy
粘贴:p
如果想粘贴10次就使用:10 p
如果想粘贴n次就使用: n p
撤销操作:u
如何删除光标所在的行:dd
其实dd
也相当于Windows的剪切功能,你使用dd
之后可以再使用p
命令,将删掉的内容粘贴到光标的位置
如果你想将9行内容剪切到其他地方的话你可以:9 dd
然后再在你想要移动到的位置p
一下
如果你想将 n 行内容 剪切到其他地方的话你可以:n dd
然后再目标位置p
一下;
对行内一部分的操作
大小写字母的转化
按住shift
不动, 在按~
替换掉行内你想替换替换的字母,比如,“hello world”
你想替换成“hello worlx”
你只需要光标定位到单词world
的 d
然后按r
接着就可以改成你想改的字符了,这里是改成x
所以你按了r
之后 在按 x
就行了
同理,如果你想将从光标开始往右数5个字符全换成x
你可以输入:5 r
然后按x
但是这样替换掉的字符都是一样的呀,比如这里全换成了x
,那如果我想替换的字母不一样那该怎么办,这样的话就要进入 == 替换模式 == 了 。使用:shift + r
进入替换模式。这样就可以替换了 。
比如:你想把hello world
改成 hello linux
就是把world
替换成linux
你要先在普通模式下将光标移动到单词world
的位置 然后按:shift r
进入替换模式 ,接着就可以直接输入linux
了,因为它会直接替换掉world
如何删除行内的部分字符?
比如:hello world
这串字符,我想把hello
删掉,那该怎么办,肯定不能用dd
呀,因为dd
是把整行都删掉
我们这样:在普通模式下将光标放在要删除的字符的位置按x
,(x
是向后删除一个字符,如果你想删除从光标开始往后数4个字符你就按4 x
就行了)
所以我们只需要将光标放在hello
这个单词的h
的位置按5 x
就行了
如果你想往前删就用:shift + x
撤销操作
如果你想撤销某个操作你可以在普通模式下按下:u
但是如果撤销撤多了,本来只需撤销一次,但是你撤销了两次,那该怎么办?
我们可以按下:ctrl r
就是对 u
的撤销
如果你对 u
操作后悔了,你就用ctrl r
如果你对ctrl r
操作后悔了,你就用u
如果你只想要拷贝一部分单词该怎么办
y w
命令,
y y
是把一整行都复制过去。
y w
就是复制一个单词。
3 y w
就是连续复制3个单词,所以:n y w
就是连续复制n个单词
在vim中对某个单词进行搜索
shift + #
vim如何批量注释代码
第一步:这个时候就要用到第5种模式,叫视图模式
在命名模式中按下ctrl v
就进入了视图模式
这个时候左下角显示了V-BLOCK
全称是VISUAL BLOCK
这就是视图模式
第二步:进入视图模式之后用h,j,k,l
这些方向键来选择你要注释的内容。
第三步:在选择好要注释的内容之后,按下:shift i
进入编辑模式,然后键入://
第四步:在键入//
后,直接按Esc
就行了。到此,注释完成
vim如何批量删除注释
第一步:
在命名模式中按下ctrl v
就进入了视图模式
这个时候左下角显示了VISUAL BLOCK
这就是视图模式
第二步:进入视图模式之后用h,j,k,l
这些方向键来选择你要删除注释的内容。
第三步:按下d
进行删除即可
定为光标到我们想要的地方
举个列子:vim mycode.c +7
表示在用光标打开这个文件的时候用光标定位到第7
行
相关文章:
vim 工具的使用
注:以下操作都在普通模式下进行 光标的移动操作 gg 定位到代码的第一行 shiftg 定位到代码的最后一行 nshiftg 定位到第n行 shift6: 特定一行的开始 shift4 特定一行的结尾 上下左右的移动光标 h: 向左移动光标 j: 向下移动光标 k: 向上移动光标 l: 向右移动光标 …...
RPA有什么优势?RPA的8大优势!建议学习!
随着科技的不断发展,越来越多的企业开始寻求数字化转型,以提高生产力和效率。在这个过程中,RPA(Robotic Process Automation)机器人流程自动化技术逐渐成为企业数字化转型的重要工具之一。本文将从八个方面阐述RPA的优…...

初级篇—第二章SELECT查询语句
文章目录 什么是SQLSQL 分类SQL语言的规则与规范阿里巴巴MySQL命名规范数据导入指令 显示表结构 DESC基本的SELECT语句SELECTSELECT ... FROM列的别名 AS去除重复行 DISTINCT空值参与运算着重号查询常数过滤数据 WHERE练习 运算符算术运算符加减符号乘除符号取模符号 符号比较运…...

PostMan的学习
PostMan的学习 目录 环境变量和全局变量接口关联内置动态参数以及自定义动态参数实现业务闭环Postman断言批量运行collection数据驱动之CSV文件和JSON文件测试必须带请求头的接口Mock Serviers 服务器Cookie鉴权NewmanPostManNewManjenkins实现接口测试持续集成 参考资料&am…...

配置OSPF路由
OSPF路由 1.OSPF路由 1.1 OSPF简介 OSPF(Open Shortest Path First,开放式最短路径优先)路由协议是另一个比较常用的路由协议之一,它通过路由器之间通告网络接口的状态,使用最短路径算法建立路由表。在生成路由表时,…...

CCF CSP认证 历年题目自练Day17
CCF CSP认证 历年题目自练Day17 题目一 试题编号: 201803-1 试题名称: 跳一跳 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱…...
基于Matlab实现多因子选股模型(附上源码+数据)
本文将介绍如何使用MATLAB实现多因子选股模型。我们将使用市盈率和市净率两个因子来进行选股,并通过简单的代码案例来演示该过程。 文章目录 引言简单案例总结源码数据下载 引言 多因子选股模型是一种常用的股票选股方法,通过综合考虑多个因子的信息来…...

【中秋国庆不断更】OpenHarmony多态样式stateStyles使用场景
Styles和Extend仅仅应用于静态页面的样式复用,stateStyles可以依据组件的内部状态的不同,快速设置不同样式。这就是我们本章要介绍的内容stateStyles(又称为:多态样式)。 概述 stateStyles是属性方法,可以根…...

Qt扩展-QCustomPlot绘图基础概述
QCustomPlot绘图基础概述 一、概述二、改变外观1. Graph 类型2. Axis 坐标轴3. 网格 三、案例1. 简单布局两个图2. 绘图与多个轴和更先进的样式3. 绘制日期和时间数据 四、其他Graph:曲线,条形图,统计框图,… 一、概述 本教程使用…...

二、局域网联机
目录 1.下载资源包 2.配置NetworkManager 3.编写测试UI 1.下载资源包 2.配置NetworkManager (1)在Assets/Prefabs下创建Network Prefabs List 相应设置如下: (2) 创建空物体“NetworkManager”并挂载NetworkMan…...
决策树剪枝:解决模型过拟合【决策树、机器学习】
如何通过剪枝解决决策树的过拟合问题 决策树是一种强大的机器学习算法,用于解决分类和回归问题。决策树模型通过树状结构的决策规则来进行预测,但在构建决策树时,常常会出现过拟合的问题,即模型在训练数据上表现出色,…...

Ubuntu部署运行ORB-SLAM2
ORB-SLAM2是特征点法的视觉SLAM集大成者,不夸张地说是必学代码。博主已经多次部署运行与ORB-SLAM2相关的代码,所以对环境和依赖很熟悉,对整个系统也是学习了几个月,一行行代码理解。本次在工控机上部署记录下完整的流程。 ORB-SLA…...

二十,镜面IBL--打印BRDF积分贴图
比起以往,这节应该是最轻松的了, 运行结果如下 代码如下: #include <osg/TextureCubeMap> #include <osg/TexGen> #include <osg/TexEnvCombine> #include <osgUtil/ReflectionMapGenerator> #include <osgDB/Re…...

自动驾驶:未来的道路上的挑战与机遇
自动驾驶:未来的道路上的挑战与机遇 文章目录 引言安全与道路事故的减少交通拥堵的缓解城市规划的变革技术和法律挑战结语 2023星火培训【专项营】Apollo开发者社区布道师倾力打造,包含PnC、新感知等的全新专项课程上线了。理论与实践相结合,…...
Go 语言 iota 的神奇力量
前言 当你深入研究官网库、开源库或者任何一个 Go 项目时,你都会发现 iota 这个神奇的标识符无处不在。它扮演着一种重要的角色,让代码变得更加简洁、清晰,并提高了可读性和可维护性。它的应用范围广泛,从枚举类型到位运算&#…...

前端开发和后端开发的一些建议
前端开发和后端开发是Web开发的两个方向 前端开发主要负责实现用户在浏览器上看到的界面和交互体验,包括HTML、CSS和JavaScript等技术。后端开发主要负责处理服务器端的逻辑和数据,包括数据库操作、服务器配置和接口开发等技术。 前端开发 前端开发需…...

基于 SpringBoot+Vue 的教室人事档案管理系统
1 简介 教师人事档案管理系统利用信息的合理管理,动态的、高效的、安全的实现了教师的各种需求,改变了传统的网上查看方式,使教师可以足不出户的在线查看最适合自己个人档案、奖惩信息、档案变动、培训报名或者新闻资讯。 1、教师后台功能模…...

Lua学习笔记:require非.lua拓展名的文件
前言 本篇在讲什么 Lua的require相关的内容 本篇需要什么 对Lua语法有简单认知 对C语法有简单认知 依赖Visual Studio工具 本篇的特色 具有全流程的图文教学 重实践,轻理论,快速上手 提供全流程的源码内容 ★提高阅读体验★ 👉 ♠…...
Python 编程基础 | 第三章-数据类型 | 3.3、浮点数
一、浮点数...

beego---ORM相关操作
Beego框架是go语言开发的web框架。 **那什么是框架呢?**就是别人写好的代码,我们可以直接使用!这个代码是专门针对某一个开发方向定制的,例如:我们要做一个网站,利用 beego 框架就能非常快的完成网站的开发…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...