vim cheat-sheet

Vim 命令小抄original card by Laurent Gregoires
redesign by brohan
基本移动
插入模式
撤消,重做


h l j k/ 移动一个字符;上/ 移动一行
^Vc ^Vn插入字符 c 的本义/十进制值 n
u U撤销最近的改动 / 恢复最近被改动的行
b w / 移动一个单词
^A插入最近插入的文本
. ^R重复最近的改动 / 重做最近撤销的改动
ge e / 移动一个单词(光标在词尾)
^@插入最近插入的文本,并退出插入模式
n.重复最近的改动 n
{ }移动到 前一个/后一个 段落开头
^Rx原样插入寄存器 x 的内容
寄存器
( )移动到 前一个/后一个 句子开头
^N ^P补全关键字并作 正向/反向 查找
0 gm移动到 行首/行正中
^W删除光标前的单词
qc qC记录键入的字符,存入/添加到 寄存器 c
^ $移动到行 第一个非空白字符/行尾
^U删除当前行光标前所有输入的字符
q停止记录
nG ngg移动到第 n 行,默认到 尾行/首行
^D ^T左移/右移 一个缩进位
@c执行寄存器 c 的内容
n%移动到文件的 n 百分比处
^KC1C2输入 \C1,C2\ 代表的二合字母
@@重复上次的 @c 操作
n|移动到当前行的第 n
^Oc在临时命令模式执行命令 c
:@c将寄存器 c 的内容当作 Ex 命令来执行
nH nL移动到窗口 顶端/底部 n
^X^E向上滚动一行
:rg/p/c在范围 r 中找到匹配内容 p 时执行 Ex 命令 c
%匹配下一个项目(括号、方括号等……
^X^Y向下滚动一行
复合移动
M移动到窗口的中间行
<esc> ^[结束插入模式,回到命令模式
编辑修改
复制
- +上移/下移 一行,至第一个非空白字符


B W / 移动一个字串
i a在光标 / 插入文本
"x指定下次删除、抽出和放置使用寄存器 x
gE E / 移动一个字串(光标在末尾)
I A 行首/行尾 插入文本
:reg显示所有寄存器的内容
n_下移 n-1 行,至第一个非空白字符
gI在第一列插入文本
:reg x显示寄存器 x 的内容
g0移动到屏幕行第一个字符
o O在光标的 下方/上方 插入新行
ym抽出动作 m 跨越的文本
g^ g$移动到屏幕行 第一个非空白字符/最后一个字符
rc把光标下的字符换成 c
yy or Y抽出整
gk gj上移/下移 一个屏幕行
grc类似 r,但替换的是虚拟字符
p P放置寄存器内容到光标 之后/之前
fc Fc移动到 后一个/前一个 字符 c
R进入替换模式
]p [P类似 "p" "P",但调整当前行的缩进
tc Tc移动到 后一个/前一个 字符 c 之前
gR类似 R,但替换的是虚拟字符
gp gP类似 "p" "P",光标停留在新文本之后
; ,正向/反向 重复上次 "f""F""t" "T" 命令
cm更改动作 m 跨越的文本
复杂改动
[[ ]]向后/向前 一小节,置于小节的开始
CC or S更改当前行的内容

[] ][向后/向前 一小节,置于小节的末尾
C更改光标到行尾的文本
g?m对动作 m 跨越的文本做 rot13 编码
[( ])向后/向前 至未闭合的 '(' / ')'
s更改一个字符并进入插入模式
n^A n^X光标之上或之后的数值或者字母 +n/-n
[{ ]}向后/向前 至未闭合的 '{' / '}'
~切换当前字符大小写,同时光标前移
gqm格式化动作 m 跨越的所有行
[m ]m向后/向前 java method的开始
g~m切换动作 m 跨越文本的大小写
:rce w将范围 r 中的行依据宽度 w 居中对齐
[# ]#向后/向前 至未闭合的 #if, #else, #endif
gum gUm小写/大写 动作 m 跨越的文本
:rle i将范围 r 中的行靠左对齐,缩进 i
[* ]*向后/向前 至注释的 开始/结束 /* */
<m >m左移/右移 动作 m 跨越的行
:rri w将范围 r 中的行依据宽度 w 靠右对齐
查找替换
n<< n>> n 左移/右移 一个缩进位
!mc将动作 m 跨越的行用命令 c 过滤
删除
n!!c n 行用命令 c 过滤
/s ?s向前/向后 查找 s

:r!c将范围 r 中的行用命令 c 过滤
/s/o ?s/o向前/向后 查找 s,光标偏移量 o
x X删除光标 / 的字符
可视模式
n or /向前重复上次查找
dm删除动作 m 跨越的文本

N or ?向后重复上次查找
dd D删除 当前行/到行尾
v V 字符/ 方式开始(结束)高亮
# *向后/向前 查找光标下的标识符
J gJ连接两行 删除缩进、插入空格/直接连接
^V以列块方式开始(结束)高亮
g# g* "#" / "*",但也查找部分匹配
:rd删除范围 r 包括的行
o交换高亮区域的开始处和光标位置
gd gD跳转到光标下标识符的 局部/全局 声明
:rdx删除范围 r 包括的行到寄存器 x
gv使用上一次的可视区域开始高亮
:rs/f/t/x将范围 r 中的 f 替换成 t
选项 x g-所有匹配项, c-确认替换



aw as ap选择 "一个单词" / "一个句子" / "一个段落"



ab aB选择 "一个块" ( ) / "一个大块" { }
:rs x在新的范围 r 中以选项 x 重复上一替换

转载于:https://www.cnblogs.com/ptfree/articles/1224931.html

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

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

相关文章

递归与非递归法实现链表相加 CC150 V5 2.5题 java版

前言&#xff1a;这是一道很有意思的题目&#xff0c;原题如下&#xff1a;You have two numbers represented by a linked list, where each node contains a single digit. The digits are stored in reverse order, such that the 1’s digit is at the head of the list. W…

荷兰人发明的新客机是劈叉的!乘客坐在机翼上

全世界只有3.14 % 的人关注了青少年数学之旅与汽车外型的复杂多变相比&#xff0c;飞机的外型似乎总是那么朴实无华&#xff0c;不管是客机还是战斗机&#xff0c;大约都是大家习以为常的那个样子……但是&#xff0c;终于有人要推陈出新了&#xff01;荷兰皇家航空公司与代尔夫…

预约 .NET Conf: Focus on F# 活动,赢得官方周边!

James: 最近 .NET 基金会预告了将在本月29日底举行的 .NET Conf: Focus on F# 线上活动&#xff0c;预约这次活动还能有机会赢得官方大礼包。.NET Conf: Focus on F# 是一个免费的、为期一天的直播活动&#xff0c;会上有来自社区和使用f#语言的微软团队的演讲者。学习 F# 如何…

【转】测试人员的思想理念和工作方法

测试人员的思想理念和工作方法 软件测试的前提假设 测试人员进行软件测试的基本假设是“有罪推断” &#xff0c;即认为被测程序一定是有bug的&#xff0c;而且每个功能点的实现都存在bug&#xff0c;而且一定存在严重的bug。 请牢记这个假设 &#xff0c;一旦在日后的工作过程…

.NET Day in China(上海-今日活动)| 线上线下

点击蓝字关注我们活动简介.NET 6 Preview 6 在 7月14日已经发布&#xff0c;.NET 6 是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本&#xff0c;意义重大&#xff0c;微软在 .NET 6 引入了 MAUI&#xff0c;跨平台开发将更为简单&#xff0c;ASP.NET Core 也在不断的…

公司重金求数据分析师:为什么90%的公司都需要它?

全世界只有3.14 % 的人关注了青少年数学之旅混迹互联网的同学们&#xff0c;或多或少都对“数据分析师”这一职业有所耳闻。即使你不认识任何数据分析师&#xff0c;也一定看到过这类研究报告或者文章&#xff1a;Smart is the new sexy. 酷炫的图表&#xff0c;理性的分析阐述…

php定位和天气,基于thinkphp实现依据用户ip判断地理位置并提供对应天气信息的应用...

基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用我们都知道&#xff0c;在很多的网站都提供了给用户提供天气预报的功能&#xff0c;有时会发现&#xff0c;用户即使不输入任何和自己有关的地理位置信息&#xff0c;同样的网站也可以去判断地理位置并且显示天…

php配置问题汇总

前两天开始跟进PHP&#xff1b;我觉得&#xff0c;PHP的环境配置远比其他语言的要复杂很多。我所说的“其他语言”&#xff0c;包括Java&#xff0c;Oracle&#xff0c;scala&#xff0c;Python等。到现在PHP的环境被搭好&#xff0c;因为是全手动的配置&#xff0c;我完完整整…

Orchard Core 1.0.0 正式发布!

James: Orchard 最早是微软的员工创造的开源项目&#xff0c;使用的技术架构可以说是非常优秀&#xff0c;源码值得学习。功能也非常强大&#xff0c;支持模块化、多租户、工作流等等功能&#xff0c;可以说是 .NET 世界的 WordPress。一开始是.NET Framework 的&#xff0c;在…

[方法“Boolean Contains(System.Guid)”不支持转换为 SQL]的解决办法

Guid ClsID newGuid("d4ee9c52-8d68-4f33-9485-0926281c78ac");IList<Guid>Ids WebProduct.GetAllChildByID(ClsID);var query db.T_Products.Where(p >Ids.Contains((Guid)p.F_ClsID));//这一句编译时无错&#xff0c;但是一执行&#xff0c;就报错出错信息…

解决IE为7939.com的病毒~

病毒名称&#xff1a;“诡秘下载器”变种CXW&#xff08;Trojan.DL.Delf.cxw&#xff09;病毒类型&#xff1a;流氓软件病毒危害级别&#xff1a;★★★☆该病毒运行后会从***指定的网站下载指令并运行&#xff0c;会将用户IE浏览器的主页锁定为一个名叫“7939上网导航”的网站…

这哥们到底是应聘的还是来收购公司的?| 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅图源网络&#xff0c;侵权删

java web 测试类,构建一个容易单元测试的java–web系统-JSP教程,Java技巧及代码

最近在做一个项目,我们使用的是一些看似很标准的web结构,dao(数据访问)helper(处理业务操作)action(调用helper层)struts的控制系统,页面使用struts标签和部分自定义标签完成显示.进入测试阶段后1,dao测试–junit的确非常不错,我们使用eclipsejunit.jar,很满意的完成了这部分检…

Abp太重了?轻量化Abp框架

本文首发于个人博客&#xff08;https://blog.zhangchi.fun/&#xff09;在进行框架的选型时&#xff0c;经常会听到“***框架太重了”之类的声音&#xff0c;比如“Abp太重了&#xff0c;不适合我们...”。事实上&#xff0c;Abp框架真的很重吗&#xff1f;框架的“轻”和“重…

js跳转页面方法

<span id"tiao">3</span><a href"javascript:countDown"></a>布丁足迹;秒后自动跳转……<meta http-equivrefresh content3;url/search/billsearch.jsp</ul><!--脚本开始--> <script language"javascript&…

使用Treeview模拟操作系统的文件系统

default.aspx 代码&#xff1a;<% Page language"c#" Codebehind"default.aspx.cs" AutoEventWireup"false" Inherits"OsFilesytem._default" %><% Register TagPrefix"iewc" Namespace"Microsoft.Web.UI.Web…

matlab怎么绘制曲线,如何在Matlab中绘制曲线

您需要定义要绘制的中间点.然后您可以手动定义它们,也可以查看样条插值.使用样条插值时,只需要一个中间点即可确定完整曲线.在MATLAB中,你可以找到类似这样的演示spline2d.以下是它的要点&#xff1a;% end pointsX [0 1];Y [0 0];% intermediate point (you have to choose …

MapReduce经典案例——统计单词数

资源文件file.txthello hadoophello wordthis is my first hadoop program分析&#xff1a;一个文档中每行的单词通过空格分割后获取&#xff0c;经过map阶段可以将所有的单词整理成如下形式&#xff1a;key:hello value:1key:hadoop value:1key:hello value:1key:word value:1…

六月赞歌

七月的脚步离我们近了&#xff0c;在六月即将过去的时候我是有些话想说的。今年的6月过得很充实&#xff0c;虽谈不上硕果累累&#xff0c;但至于还是收获颇丰。在这最想提的是生活杂谈小组在几位组长们的激情带动&#xff0c;各组员的热情参与下&#xff0c;站到了小组排行榜的…

避不开的分布式事务

前言关于前面系列的文章已经说到分布式服务之间的通信&#xff0c;则分布式事务接下来就是我们要一起学习的主题&#xff0c;走起。数据库事务在现有大大小小的系统中几乎是避免不开的&#xff0c;或多或少总会有一些业务关联在一块&#xff1b;对于单机事务的应用场景和操作&a…