直观的来一张键盘图先

符号快捷键

.          //重复上次修改

^          //光标快速跳转到当前行开头
$      //光标快速跳转到当前行结尾

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) -- 普通模式技巧 【持续更新】的更多相关文章

  1. JS小技巧大本事(持续更新)

    1. 复制N个字符 String.prototype.repeat = function(num){ return (new Array(++num)).join(this); } var a = ' ...

  2. C++ 编程技巧笔记记录(持续更新)

    C++是博大精深的语言,特性复杂得跟北京二环一样,继承乱得跟乱伦似的. 不过它仍然是我最熟悉且必须用在游戏开发上的语言,这篇文章用于挑选出一些个人觉得重要的条款/经验/技巧进行记录总结. 文章最后列出 ...

  3. 前端页面重构技巧总结TIP【持续更新...】

    本文均为项目实战经验,要求兼容至IE8,所以以下内容均为兼容代码,欢迎各位小伙伴批评指教.其实重构页面是一门学问,看似简单,却暗藏很多学问.实际项目中页面的重构有以下几点最基本需求: 1.需要使用合理 ...

  4. 管理者与下属谈话的技巧及注意点[持续更新ing]

    1.谈话之前要明确谈话的内容.原则和目的(为什么谈,谈什么,要解决什么事) 2.谈话时间不宜过长,尽量控制在半小时以内,最好在每一个阶段或一个节点的时间上去谈 3.谈话单次内容不能过多,但要捉住重点, ...

  5. Windows操作技巧 之二(持续更新)

     定时自动关机 shutdown -s -t 3600 shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f /m \\computer] ...

  6. vim常用指令及快捷键(持续更新)

    (这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) 发现了个非常赞的网站  http://openvim.com/ 以下很多操作都是安装好vund ...

  7. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  8. ( 译、持续更新 ) JavaScript 上分小技巧(四)

    后续如有内容,本篇将会照常更新并排满15个知识点,以下是其他几篇译文的地址: 第一篇地址:( 译.持续更新 ) JavaScript 上分小技巧(一) 第二篇地址:( 译.持续更新 ) JavaScr ...

  9. ( 译、持续更新 ) JavaScript 上分小技巧(三)

    最近家里杂事较多,自学时间实在少的可怜,所以都在空闲时间看看老外写的内容,学习之外顺便翻译分享~等学习的时间充足些再写写自己的一些学习内容和知识点分析(最近有在接触的:复习(C#,SQL).(学习)T ...

  10. ( 译、持续更新 ) JavaScript 上分小技巧(二)

    考虑到文章过长,不便于阅读,这里分出第二篇,如有后续,每15个知识点分为一篇... 第一篇地址:( 译.持续更新 ) JavaScript 上分小技巧(一) 第三篇地址:( 译.持续更新 ) Java ...

随机推荐

  1. scala测试框架:scalatest

    api文档:http://tool.oschina.net/apidocs/apidoc?api=scalatest-1.7.2 trait Assertions:http://tool.oschin ...

  2. memcache学习资料

    memcached是国外社区网站LiveJournal团队开发,通过缓存数据库查询结果,减少数据库访问次数,从而提高动态web站点性能.官方站点 http://memcached.org/memcac ...

  3. JAVA之方法的重载

    package com.test; //方法重载(overload)定义://1.方法名称相同//2.方法的参数类型.个数.顺序至少有一项不同//3.方法的返回类型可以不同//4.方法的修饰符可以不同 ...

  4. oracle调优 浅析“会话管理开销”

    调优之浅析"会话管理开销"   [简单介绍]        在调优的过程中,对于会话的管理是比較普遍的问题,由于维护会话的开销相对是比較高的. [过程表现例如以下]         ...

  5. .Net程序测试使用阿里云OCS开放缓存服务

     首先需要有一个阿里的OCS实例和ECS云服务器 请确认这两个是在同一个可用区的,这个很重要! 这两个可以在阿里云官网申请得到 拿到OCS之后 进入OCS控制台,点击下面的客户端下载选择.Net客 ...

  6. 单一按钮显示/隐藏&&提示框效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_指针

    定义pt为指向INT类型的指针,在程序中取得var_int1的地址(INT类型),然后将地址对应的数据还原给var_int2(pt^的写法)     更多教学视频和资料下载,欢迎关注以下信息: 我的优 ...

  8. mysql误操作后通过binlog恢复,同时解决tmp目录满的问题

    注意: 本文的恢复,并不是基于恢复某个时间点的全量备份后的增量恢复,而是指在现有数据库基础上基于binlog的恢复.适用于较小的数据误操作. 提取日志文件为sql语句: /usr-ext/local/ ...

  9. vue相关知识点

    1.el-date-picker输入的时间范围需要两点 A.禁用键盘输入 :editable=false,否则虽然禁用,但是输入框还能输入 B.指定时间范围::picker-options=" ...

  10. 微信小程序 之 请求函数封装

    封装的request的代码 /** * @desc API请求接口类封装 */ /** * POST请求API * @param {String} url 接口地址 * @param {Object} ...