Vim使用技巧(1) -- 普通模式技巧 【持续更新】
直观的来一张键盘图先

符号快捷键
. //重复上次修改
^ //光标快速跳转到当前行开头
$ //光标快速跳转到当前行结尾
f{char} //光标快速跳转到当前行下一个{char}字符,{char}表示任意一个字符
t{char} //光标快速跳转到当前行下一个{char}字符的前一个字符
》》
, //在f{char}操作的前提下,会跳转到当前行的上一个{char}字符,t{char}同理
; //在f{char}操作的前提下,会跳转到当前行的下一个{char}字符,t{char}同理
衍生实用组合快捷键
df{char} //从当前字母删除到{char}字母(行内作用)
dt{char} //从当前字母删除到{char}字母的前一个字母(行内作用)
cf{char} //从当前字母删除到{char}字母,并进入插入模式(跨行作用)
ct{char} //从当前字母删除到{char}字母的前一个字母,并进入插入模式(跨行作用)
与命令行模式结合的超强衍生组合快捷键
d/{motion} //删除到搜索出来的字符串前,motion的意思为任意字符串
c/{motion} //删除到搜索出来的字符串前,并进入插入模式
Shift + * //高亮整个文本所有当前光标所在的单词
》》
n //在Shift + *操作的前提下,跳转到下一个高亮的词
N //在Shift + *操作的前提下,跳转到上一个高亮的词
字母快捷键
a //在光标当前位置进入插入模式
A //光标快速跳转到当前行的末尾,并且进入插入模式,相当于封装了$与a两个键
b //反向移动到上一个单词开头
B //反向移动到上一个字串开头
w //正向移动到下一个单词开头
W //正向移动到下一个字串开头
e //正向移动到下一个单词结尾
E //正向移动到下一个字串结尾
ge //反向移动到上一个单词结尾
gE //反向移动到上一个字串结尾
C //删除光标所在位置的后面所有内容,并且在当前位置进入插入模式,相当于封装了c与$两个键
cc //删除当前行并进入插入模式
_d //特殊知识:这是vim的黑洞寄存器,只有删除功能,没有寄存功能,真正意义上面的删除,而下面的d都是剪切的意思
dd //剪切当前行到寄存器中,按p就能黏贴
add //剪切当前行内容到a寄存器,按ap就能黏贴a寄存器里面的内容
diw //剪切光标所在单词到寄存器,按p就能黏贴到光标后面了
ddp //调换光标所在行与下面一行的位置
gg //光标快速跳到文件的第一行
G //光标快速跳到文件的最后一行
Shift + > + G //增加当前行到文档末尾处的缩进层级
Shift + < + G //减少当前行到文档末尾处的缩进层级
i //在光标当前的位置进入插入模式
I //光标快速跳至当前行的行首,并进入插入模式,相当于封装了^与i两个键
h //光标向前移动一个字符
j //光标向下移动一实际行
gj //光标向下移动一屏幕行
k //光标向上移动一实际行
gk //光标向上移动一屏幕行
l //光标向后移动一个字符
o //在光标当前行的下面进入插入模式,相当于封装了A和Enter两个键
O //在光标当前行的上面进入插入模式,相当于封装了k和o两个键
p //黏贴在寄存器里的内容
s //删除光标所在的字符,并且在当前位置进入插入模式
u //撤销上一步的操作
Ctrl + r //恢复撤销前的操作
v //进入可视化模式
V //进入可视化模式 - 行
Ctrl + v //进入可视化模式 - 块
gv //选中之前选中的部分
x //剪切光标选中的字符到寄存器中,按p就能黏贴
xp //调换光标所在字符与后面字符的位置
y //复制当前光标选中的内容,且复制的内容会存放到名为0的寄存器中,不会被其他操作d,x,s等操作覆盖(可视模式)
yiw //复制光标所在单词,按p就可以黏贴到光标后面了
ayiw //复制光标所在单词到a寄存器,用ap就能黏贴a寄存器中的内容
yyp //复制当前行,并黏贴到下面一行
Vim使用技巧(1) -- 普通模式技巧 【持续更新】的更多相关文章
- JS小技巧大本事(持续更新)
1. 复制N个字符 String.prototype.repeat = function(num){ return (new Array(++num)).join(this); } var a = ' ...
- C++ 编程技巧笔记记录(持续更新)
C++是博大精深的语言,特性复杂得跟北京二环一样,继承乱得跟乱伦似的. 不过它仍然是我最熟悉且必须用在游戏开发上的语言,这篇文章用于挑选出一些个人觉得重要的条款/经验/技巧进行记录总结. 文章最后列出 ...
- 前端页面重构技巧总结TIP【持续更新...】
本文均为项目实战经验,要求兼容至IE8,所以以下内容均为兼容代码,欢迎各位小伙伴批评指教.其实重构页面是一门学问,看似简单,却暗藏很多学问.实际项目中页面的重构有以下几点最基本需求: 1.需要使用合理 ...
- 管理者与下属谈话的技巧及注意点[持续更新ing]
1.谈话之前要明确谈话的内容.原则和目的(为什么谈,谈什么,要解决什么事) 2.谈话时间不宜过长,尽量控制在半小时以内,最好在每一个阶段或一个节点的时间上去谈 3.谈话单次内容不能过多,但要捉住重点, ...
- Windows操作技巧 之二(持续更新)
定时自动关机 shutdown -s -t 3600 shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f /m \\computer] ...
- vim常用指令及快捷键(持续更新)
(这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) 发现了个非常赞的网站 http://openvim.com/ 以下很多操作都是安装好vund ...
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- ( 译、持续更新 ) JavaScript 上分小技巧(四)
后续如有内容,本篇将会照常更新并排满15个知识点,以下是其他几篇译文的地址: 第一篇地址:( 译.持续更新 ) JavaScript 上分小技巧(一) 第二篇地址:( 译.持续更新 ) JavaScr ...
- ( 译、持续更新 ) JavaScript 上分小技巧(三)
最近家里杂事较多,自学时间实在少的可怜,所以都在空闲时间看看老外写的内容,学习之外顺便翻译分享~等学习的时间充足些再写写自己的一些学习内容和知识点分析(最近有在接触的:复习(C#,SQL).(学习)T ...
- ( 译、持续更新 ) JavaScript 上分小技巧(二)
考虑到文章过长,不便于阅读,这里分出第二篇,如有后续,每15个知识点分为一篇... 第一篇地址:( 译.持续更新 ) JavaScript 上分小技巧(一) 第三篇地址:( 译.持续更新 ) Java ...
随机推荐
- 洛谷 P2183 [国家集训队]礼物
题目描述 一年一度的圣诞节快要来到了.每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多.小E从商店中购买了n件礼物 ...
- xml文件生成与下载
写在前面: 最近要做一个新的功能,点击按钮,可以根据数据生成对应的xml文件并保存.下面记录一下在做的过程的一些疑惑与问题(我就是太笨了,一些很简单的知识都不知道,不过通过这次跟蛋蛋的交流,解决了我的 ...
- InputSplit—>RecordReder—>map(key,value,context)的过程解析
上图首先描述了在TaskTracker端Task(MapTask.ReduceTask)的执行过程,MapTask(org.apache.hadoop.mapred)首先被TaskRunner调用,然 ...
- 5.Android之NFC介绍
NFC简介: Near Field Communication 近场通信,是一种数据传输技术. 与wifi.蓝牙.红外线等数据传输技术的一个主要差异就是有效距离一般不能超过4cm. NFC支持3种工作 ...
- Markdown中超链接增加_blank的方法
很遗憾,无法在语法上实现,只能通过额外的的JS代码实现,比如: var links = document.links; for (var i = 0; i < links.length; i++ ...
- 今天在CSDN看懂这个帖子,也是我的困惑,记录一下(过了三十的码农,你选择的是哪个,说出你的想法)
http://bbs.csdn.net/topics/390944177 1.继续开发生涯,做资深码农,从senior.team lead.tech lead到principal,如果你无欲无求,可以 ...
- python2 to3
http://blog.csdn.net/zhzh213/article/details/53842790 有个内部工具叫做2to3.py位置在Python3/tool/script文件夹. 首先CD ...
- SQL Server 系统函数
一组内置函数,对 SQL Server 中的值.对象和设置执行操作,并返回有关它们的信息. 系统函数 功能 APP_NAME() 返回当前会话的应用程序名称(如果应用程序进行了设置) CASE表达 ...
- C# 窗体位置 Show和ShowDialog (转载)
CenterParent 窗体在其父窗体中居中. CenterScreen 窗体在当前显示窗口中居中,其尺寸在 ...
- Bean的作用域scope
Bean的作用域scope 1.singleton 单例,指一个bean容器中只存在一份 2.prototype 每次请求(每次使用)创建新的实例,destroy方式不生效 3.request 每次h ...