vim练级攻略(精简版)
vim推荐配置:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
0. 规定
Ctrl-λ 等价于 <C-λ>
:
command
等价于
:command <回车>
n 等价于 数字
blank字符 等价于 空格,tab,换行,回车等
1. 命令模式 -> NORMAL
<operation> 其他 <motion>
1.0 复制
- yy 等价于 shift + y → 复制当前行
- nyy → 从本行向下,复制n行
- yw → 从光标开始复制到这个单词尾
- nyw → 从光标开始复制到n个单词尾
1.1 删除字符
x
→ 删除光标所在的一个字符 s → 删除光标所在的一个字符 并 进入插入模式- X → 删除光标前一个字符
n
x
→ 删除光标所在的n字符- nX → 删除光标前n一个字符
dt字符
→ 删除所有的内容,直到遇到字符- 比如dt"表示从当前光标开始 一直删除 直到''
1.2 查找
-
f + 字符 → 查找字符
-
df + 字符 → 从这个光标开始 一直 删除到字符结束
-
cf + 字符 → 从这个光标开始 一直 删除到字符结束 并进入插入模式
1.3 命令 → 插入模式
- i → 光标不动 并 进入插入模式
a
→ 光标向后 并 进入插入模式o
→ 向下新增一行 并 进入插入模式O
→ 向上新增一行 并 进入插入模式cw
→ 从光标位置 删除 连续字符 并 进入 插入模式(可以有多种组合)- cnw → 从光标位置 删除 连续n字符 并 进入 插入模式(可以有多种组合)
- shfit + i → 光标移动到行首 并 进入插入模式
- shift + a → 光标移动到行尾 并 进入插入模式
1.4 简单的光标移动
0
→ 数字零,到行头- shift+4→ 到本行行尾
- shift+6→ 到本行第一个不是blank字符的位置
g_
→ 到本行最后一个不是blank字符的位置
1.5 对文件操作
:e <path/to/file>
→ 打开文件:w
→ 保存文件:q!
→ 退出文件 且 不保存:x
,ZZ
或:wq
→ 保存并退出 (:x
表示仅在需要时保存,ZZ不需要输入冒号并回车):saveas <path/to/file>
→ 另存为<path/to/file>,还会打开这个文件
:bn
和:bp
→ 切换文件,下一个文件,上一个文件 (n表示next,p表示prev)- :n 文件名→ 切换到这个文件
1.6 重复命令
.
→ (小数点) 可以重复上一次的命令- N<command> → 重复某个命令N次
1.7 高效的光标移动
1.7. 1 按行移动
gg
→ 到第一行- G → 到最后一行
- 数字+
G
→ 到第 几行,或者: 数字→到第几行 - n + enter→ 向下跳几行
1.7.2 按单词移动
以默认方式(字母,数字和下划线) 为分割符
w
→ 移动到下一个单词的开头。b 则表示 上一个单词的开头e
→ 移动到本单词 或 下一个单词的结尾。
以blank字符为分隔符
- shift + w → 到下一个单词的开头,shift + b 则表示 上一个单词的开头
- shift + e → 移动到本单词 或 下一个单词的结尾。
1.7.3 (最强)在同一行的光标移动
从左向右 (正方向)
- f+字符→光标移动到这个字符处
- t+字符→光标移动到这个字符的前一个位置
从右向左 (反方向)
- shift + f+字符→光标移动到这个字符处
- shift + t+字符→光标移动到这个字符的后一个位置
注: 数字 + f + 字符→移动到当前的第几个字符上
注:
1.8 字符大小写转换
-
~ → 完成光标所在位置字符的大小写切换
-
n~ → 完成光标所在位置开始往后的n个字符的大小写切换
1.9 最强的光标移动
%
: 匹配括号移动,包括(
,{
,[
.(需要把光标先移到括号上)*
和#
: 匹配光标当前所在的单词,移动光标到下一个(或上一个)
匹配单词(*是下一个,#是上一个)
1.10 翻页
-
<C-b>
→ 上翻一页 -
<C-f>
→ 下翻一页 <C-u>
→ 上翻半页<C-d>
→ 下翻半页
1.11 替换字符
- r → 替换光标所在位置的字符
- R → 替换光标所到位置的字符,直到按下「Esc」键为止
1.12 (重要)区域选择
<action>a<object>
或<action>i<object>
-
action可以是任何的命令,如
d
(删除),y
(拷贝),v
(可以视模式选择)。 - object 可能是:
w
一个单词,W
一个以空格为分隔的单词,s
一个句字,p
一个段落。也可以是一个特别的字符:"、
'、
)、
}、
]。
<action>a<object>(包括object),
<action>i<object>(不包括object),
1.13 (重要)块操作: <C-v>
1.13.1 快速注释
- 按下 ctrl+v 进入可视化模式;
- 上下键(只是上下键)移动光标,选中多行的开头;
- 按下大写的I,此时进入insert插入模式;
- 输入要插入的注释符,如:#、//;
- 按下ESC,就会看到多行代码被注释。
1.14 (重要)自动提示
<C-n>
和<C-p>
-
<C-n> 表示自动补齐的下一个
<C-p> 表示自动补齐的上一个
1.15 宏录制: qa
操作序列 q
, @a
, @@
qa
把你的操作记录在寄存器a。
- q : 停止录制
- 于是
@a
会replay被录制的宏。 @@
是一个快捷键用来replay最新录制的宏
1.15.1实际操作->快速编号
注 : Y 等价于 yy
qaYp<C-a>q
→qa
开始录制Yp
复制当前行,并粘贴<C-a>
增加1q
停止录制
先预执行一次: @a
→ 在1下面写下 2重复执行多次 @@
→ 在2 正面写下3- 现在做
5@@
会创建新的5行,并把数据增加到 8
2. 可视化模式
v
→进入单个选择
V
→进入行选择
<C-v>
→进入块选择
2.1 实际操作 -> 在所有行尾加;
<C-v>
- 选中相关的行 (可使用
j
或<C-d>
或是/pattern
或是%
等……) - $ 到行最后
A+字符
,按ESC。
2.2 其他操作
J
→ 把所有的行连接起来(变成一行)<
或>
→ 左右缩进=
→ 自动给缩进(非常好用)
3. 底行模式->COMMAND
- : vs+文件名:分屏操作
-
:wq
→ 存盘 + 退出 (:w
存盘,:q
退出) :help <command>
→ 显示相关命令的帮助。你也可以就输入:help
而不跟命令
(退出帮助需要输入:q)- :!cmd:不退出vim执行对应的命令(执行命令行,编译,运行,查看man等等)
/pattern
→ 搜索pattern
的字符串(如果搜索出多个匹配,可按n键到下一个)
4. 分屏操作
4.1 分屏启动Vim
- vim -On file1 file2 ... 使用大写的O参数来垂直分屏。
- vim -on file1 file2 ...使用小写的o参数来水平分屏。
4.2 创建水平 && 垂直分屏
:split
→ 创建水平分屏 等价于<C-w> +
s:vsplit
→ 创建垂直分屏 等价于<C-w> + v
- :sp filename 上下分割,并打开一个新的文件。
- :vsp filename 左右分割,并打开一个新的文件。
4.3 关闭分屏
<C-w>
c 关闭当前窗口。<C-w>
q 关闭当前窗口,如果只剩最后一个了,则退出Vim。
4.3 在分屏中移动光标
-
<C-w> + dir
: dir就是方向,可以是hjkl
或是 ←↓↑→ 中的一个,其用来切换分屏。 -
<C-w>+ w
:
4.4 更改分屏的屏幕尺寸
<C-w>
+ = : 让所有的屏都有一样的高度。<C-w>
+ : 增加高度<C-w>
- : 减少高度- <C-w> + _ : 最大化尺寸
5. vim改键位的操作
- vim的配置文件都在vimrc里面
- nnoremap 新按键 老按键
相关文章:
![](https://i-blog.csdnimg.cn/blog_migrate/af8f455017bc0fd93f05cf5f906067f5.png)
vim练级攻略(精简版)
vim推荐配置: curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 0. 规定 Ctrl-λ 等价于 <C-λ> :command 等价于 :command <回车> n 等价于 数字 blank字符 等价于 空格,tab&am…...
![](https://i-blog.csdnimg.cn/direct/1956c2fa302f4152af671d3f0c9dc3ee.png)
一文速通Java的JDBC编程
目录 🐽JDBC的引入 什么是API JDBC的概念及作用 🍇准备工作 数据库驱动包 下载第三方库 🐾JDBC 使用 将jar包导入项目 通过代码使用JDBC的API (1)创建数据源对象并设置属性 (2)和数据库服务器建立网络连接 (3)程序构造SQL语句 (…...
![](https://www.ngui.cc/images/no-images.jpg)
laravel中请求失败重试的扩展--Guzzle
背景 开发过程中,跟外部接口对接时,很常见的要考虑到失败重新的情况,这里记录一下我用的失败重试的情况, 重试方法 1、使用 Laravel 的 HTTP 客户端和异常处理 结合异常处理和重试逻辑 use Illuminate\Support\Facades\Http;…...
![](https://i-blog.csdnimg.cn/direct/6b03ef239a104ef3be945b8786fe94c1.png#pic_center)
如何在vue中渲染markdown内容?
文章目录 引言什么是 markdown-it?安装 markdown-it基本用法样式失效?解决方法 高级配置语法高亮 效果展示 引言 在现代 Web 开发中,Markdown 作为一种轻量级的标记语言,广泛用于文档编写、内容管理以及富文本编辑器中。markdown…...
![](https://i-blog.csdnimg.cn/direct/f2595344c28847babd75b1deb06246dc.png)
Mysql MVCC
MVCC 什么是MVCC MVCC(多版本并发控制,Multi-Version Concurrency Control) 是一种用于数据库管理系统(DBMS)中的并发控制机制,它允许多个事务同时执行而不互相阻塞,并通过创建数据的多个版本…...
![](https://i-blog.csdnimg.cn/direct/d54548c789fb4677bbd9727cc6c10923.png)
Spring6.0新特性-HTTP接口:使用@HttpExchange实现更优雅的Http客户端
文章目录 一、概述二、使用1、创建接口HttpExchange方法2、创建一个在调用方法时执行请求的代理3、方法参数4、返回值5、错误处理(1)为RestClient(2)为WebClient(3)为RestTemplate 注意 一、概述 官方文档…...
![](https://i-blog.csdnimg.cn/img_convert/75b4b37a142d81879af10cc8a08ef0a7.png)
springboot医院信管系统
摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&a…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fwww.eechina.com%2Fdata%2Fattachment%2Fforum%2F202501%2F17%2F150606kto6y6z333m3wxt4.jpg&pos_id=y9DphToa)
迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写内核 LED HDF 驱动程序
接下来编译 LED 驱动,该驱动用于在基于华为设备框架(HDF)的系统中控制 LED 灯的开关,完整代码如下所示: 更多内容可以关注:迅为RK3568开发板篇OpenHarmony...
![](https://i-blog.csdnimg.cn/direct/d72dd084cd9e49fda2a0a6197234a6ca.png)
[javaWeb]初识Web
将该图片在浏览器中打印出来 代码: <html> <head> <title>HTML初识</title> </head> <body> <h1>猫猫</h1> <img src "img/1.jpg"> </body> &l…...
![](https://i-blog.csdnimg.cn/direct/4dc2f4edbab54ac19f92a86a37c19c2f.png)
复健第二天之[MoeCTF 2022]baby_file
打开题目在线环境可以看到: 感觉要用伪协议去求,但是我们并不知道flag的位置,这里我选择用dirsearch去扫一下: 最像的应该就是flag.php了 于是就构建payload: **?filephp://filter/convert.base64-encode/resource…...
![](https://i-blog.csdnimg.cn/direct/92d83b23ebd845e0b2770d55d5282a98.png)
uniapp 微信小程序 editor 富文本编辑器
<view class"inp boxsizing"><view class"contentBox"><!-- 富文本编辑器 --><view classwrapper><view classtoolbar tap"format"><view :class"formats.bold ? ql-active : " class"iconfon…...
![](https://i-blog.csdnimg.cn/direct/8754f39694934798becbb38459ea7e19.png#pic_center)
SparkSQL函数
文章目录 1. SparkSQL函数概述2. SparkSQL内置函数2.1 常用内置函数分类2.2 常用数组函数2.2.1 array()函数1. 定义2. 语法3. 示例 2.3 常用日期与时间戳函数2.4 常见聚合函数2.5 常见窗口函数 3. SparkSQL自定义函数3.1 自定义函数分类3.2 自定义函数案例演示 1. SparkSQL函数…...
![](https://i-blog.csdnimg.cn/direct/cb0fe06019aa45609da3f63c00ca1c5d.png)
从零开始学数据库 day2 DML
从零开始学数据库:DML操作详解 在今天的数字化时代,数据库的使用已经成为了各行各业的必备技能。无论你是想开发一个简单的应用,还是想要管理复杂的数据,掌握数据库的基本操作都是至关重要的。在这篇博客中,我们将专注…...
![](https://i-blog.csdnimg.cn/direct/97f005a8c55a4081ae54ab314caca6de.jpeg)
电脑换固态硬盘
参考: https://baijiahao.baidu.com/s?id1724377623311611247 一、根据尺寸和缺口可以分为以下几种: 1、M.2 NVME协议的固态 大部分笔记本是22x42MM和22x80MM nvme固态。 在京东直接搜: M.2 2242 M.2 2280 2、msata接口固态 3、NGFF M.…...
![](https://i-blog.csdnimg.cn/direct/e14c4ceb0a6d439dad90ddec5e99efc2.png#pic_center)
【大数据】机器学习------支持向量机(SVM)
支持向量机的基本概念和数学公式: 1. 线性可分的支持向量机 对于线性可分的数据集 ,其中(x_i \in R^d) 是特征向量 是类别标签,目标是找到一个超平面 ,使得对于所有 的样本 ,对于所有(y_i -1) 的样本,…...
![](https://i-blog.csdnimg.cn/direct/873d2402793d468bb17e3663a75a5ec5.png#pic_center)
Android系统开发(八):从麦克风到扬声器,音频HAL框架的奇妙之旅
引言:音浪太强,我稳如老 HAL! 如果有一天你的耳机里传来的不是《咱们屯里人》,而是金属碰撞般的杂音,那你可能已经感受到了 Android 音频硬件抽象层 (HAL) 出问题的后果!在 Android 音频架构中,…...
![](https://i-blog.csdnimg.cn/direct/f26d9cedd52a465aba35b2b009197e16.png)
Golang Gin系列-2:搭建Gin 框架环境
开始网络开发之旅通常是从选择合适的工具开始的。在这个全面的指南中,我们将引导你完成安装Go编程语言和Gin框架的过程,Gin框架是Go的轻量级和灵活的web框架。从设置Go工作空间到将Gin整合到项目中,本指南是高效而强大的web开发路线图。 安装…...
![](https://www.ngui.cc/images/no-images.jpg)
FGC_grasp复现
复现FGC_grasp 环境配置数据集准备RuntimeError: CUDA error: invalid device ordinal 问题的解决方案raise BadZipFile("File is not a zip file") zipfile.BadZipFile: File is not a zip file问题的解决方案加载数据集时总是被kill然后服务器也卡住了动不了问题的…...
![](https://i-blog.csdnimg.cn/img_convert/92041ff254b9665ae09f5db4abd631c3.jpeg)
实力认证 | 海云安入选《信创安全产品及服务购买决策参考》
近日,国内知名安全调研机构GoUpSec发布了2024年中国网络安全行业《信创安全产品及服务购买决策参考》,报告从产品特点、产品优势、成功案例、安全策略等维度对各厂商信创安全产品及服务进行调研了解。 海云安凭借AI大模型技术在信创安全领域中的创新应用…...
![](https://i-blog.csdnimg.cn/img_convert/4683c0c9624ac27ced534c3462dafc49.png)
Avalonia系列文章之小试牛刀
最近有朋友反馈,能否分享一下Avalonia相关的文章,于是就抽空学习了一下,发现Avalonia真的是一款非常不错的UI框架,值得花时间认真学习一下,于是边学习边记录,整理成文,分享给大家,希…...
![](https://i-blog.csdnimg.cn/direct/2efea1b2e72244448a3d24e46522e01d.jpeg#pic_center)
中国数字安全产业年度报告(2024)
数字安全是指,在全球数字化背景下,合理控制个人、组织、国家在各种活动中面临的数字风险,保障数字社会可持续发展的政策法规、管理措施、技术方法等安全手段的总和。 数字安全领域可从三个方面对应新质生产力的三大内涵:一是基于大型语言模型…...
![](https://i-blog.csdnimg.cn/img_convert/92469ba8679ae6a032fee6ccb8b4ec12.png)
LabVIEW桥接传感器配置与数据采集
该LabVIEW程序主要用于配置桥接传感器并进行数据采集,涉及电压激励、桥接电阻、采样设置及错误处理。第一个VI("Auto Cleanup")用于自动清理资源,建议保留以确保系统稳定运行。 以下是对图像中各个组件的详细解释&#…...
![](https://www.ngui.cc/images/no-images.jpg)
简明docker快速入门并实践方法
简明docker快速入门并实践方法 前言:1. 什么是Docker?2. Docker的基本概念3. 安装配置Docker4. Docker基本命令:5. 简单实践:拉取Nginx镜像-自定义配置-推送镜像步骤 1:拉取Nginx镜像步骤 1.5(可选…...
![](https://i-blog.csdnimg.cn/direct/fc35bfc3307b42479f1605c020a6239c.png)
《MambaIR:一种基于状态空间模型的简单图像修复基线方法》学习笔记
paper:2402.15648 目录 摘要 一、引言 1、模型性能的提升依赖于网络感受野的扩大: 2、全局感受野和高效计算之间存在固有矛盾: 3、改进版 Mamba的巨大潜力 4、Mamba 在图像修复任务中仍面临以下挑战: 5、方法 6、主要贡献…...
![](https://i-blog.csdnimg.cn/direct/6352602593724d1ebc20a9deb43146cc.jpeg)
链式前向星的写法
【图论02】动画说图的三种保存方式 降低理解门槛 邻接表 链式前向星 邻接矩阵_哔哩哔哩_bilibili 杭电ACM刘老师-算法入门培训-第12讲-拓扑排序及链式前向星_哔哩哔哩_bilibili 图论003链式前向星_哔哩哔哩_bilibili(链式前向星的遍历) head数组的下标…...
![](https://img-blog.csdnimg.cn/cc002cbd5c414c5393e19c5e0a0dbf20.gif#pic_center#pic_center)
【逆境中绽放:万字回顾2024我在挑战中突破自我】
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 一、引言二、个人成长与盘点情感与心理成长学习与技能提升其它荣誉 三、年度创作历程回顾创作内容概…...
![](https://www.ngui.cc/images/no-images.jpg)
尺取法(算法优化技巧)
问题和序列的区间有关,且需要操作两个变量,可以用两个下标(指针)i 和 j 扫描区间。 1,反向扫描,i 从头,j 从尾,在中间相遇。 例1.1(P37) 找指定和的整数对…...
![](https://www.ngui.cc/images/no-images.jpg)
基于 K-Means 聚类分析实现人脸照片的快速分类
注:本文在创作过程中得到了 ChatGPT、DeepSeek、Kimi 的智能辅助支持,由作者本人完成最终审阅。 在 “视频是不能 P 的” 系列文章中,博主曾先后分享过人脸检测、人脸识别等相关主题的内容。今天,博主想和大家讨论的是人脸分类问题。你是否曾在人群中认错人,或是盯着熟人的…...
![](https://i-blog.csdnimg.cn/direct/01d83612a78f4496abce05d9199c1d86.png)
【漏洞预警】FortiOS 和 FortiProxy 身份认证绕过漏洞(CVE-2024-55591)
文章目录 一、产品简介二、漏洞描述三、影响版本四、漏洞检测方法五、解决方案 一、产品简介 FortiOS是Fortinet公司核心的网络安全操作系统,广泛应用于FortiGate下一代防火墙,为用户提供防火墙、VPN、入侵防御、应用控制等多种安全功能。 FortiProxy则…...
![](https://static.oschina.net/uploads/img/202501/17230006_PqyC.png)
7.5.4 MVCC优化测试
作者: h5n1 原文来源: https://tidb.net/blog/4e02d900 1. 背景 由于MVCC 版本数量过多导致rocksdb扫描key数量过多影响SQL执行时间是tidb经常出现问的问题,tidb也一直在致力于优化该问题。 一些优化方式包括比: (1) 从传统…...
![](https://img-blog.csdnimg.cn/img_convert/00056ecc4a4ad6740df0859745b161d9.png)
heliohost wordpress/怎么做网站教程视频
阅读本文大概需要 2.8 分钟。“这篇文章,我们来聊一下对于一个支撑日活百万用户的高并系统,他的数据库架构应该如何设计?看到这个题目,很多人第一反应就是:分库分表啊!但是实际上,数据库层面的分…...
![](/images/no-images.jpg)
阳光电子商务平台/网络seo营销推广
undefined :表示已经声明变量,但是没有赋初始值,返回类型为 undefined; null:的返回类型是object,表示一个空对象引用。转载于:https://www.cnblogs.com/guanyushan/p/7768487.html...
![](http://www.yuansir-web.com/wp-content/uploads/2011/09/2.bmp)
青海网站设计/什么软件可以免费引流
Discuz!X 的插件很丰富,在Discuz!扩展中心很有多插件供免费使用,但是Google了一下基本没有一份关于Discuz!X 插件开发的完整教程,有也是几年前的版本的,官方论坛上有一个帖子是算开发的教程,但是不算完整。…...
![](https://img-blog.csdnimg.cn/20210124153154363.png)
web网站如何做负载均衡/公司网址怎么制作
【题目描述】 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 (原题地址) 【样例示例】 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5] 示例 2ÿ…...
![](/images/no-images.jpg)
创业做旅游网站/百度推广官网电话
在ASP.NET MVC 无需Web Form和Report Viewer 预览SSRS报表解决方案参考文章: (1)在ASP.NET MVC 无需Web Form和Report Viewer 预览SSRS报表解决方案 (2)https://www.cnblogs.com/unruledboy/archive/2013/06/07/ASPN…...
![](/images/no-images.jpg)
网站开发语言windows/行者seo
1. 问题描述: 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出:[3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 …...