什么为一次操作?

从进行插入模式开始,直到返回普通模式为止,在此期间的任何修改都视为一次操作;   使用 u 可以撤销最新的修改;

所以呢,控制好在插入模式的操作就可以控制好撤销命令的粒度;

另外,最好在插入模式下避免使用上下左右进行移动,因为它们都可以产生一个新的插入块;

还有,在插入模式下,进行换行时,我们可以避免使用回车键,而是先退出插入模式再添加下一行;

技巧1 : 构造可重复的修改;   可以后面会用于相同的修改了;

技巧2:用次数作简单的运算:

很多的普通模式的命令都可以带一个次数前缀,这样VIM就可以深度把该命令执行指定的次数了;

而 ctrl+a 与 ctrl+x 表示对数字加减一次,所以可以在前面加入数字表示加减多次;

当光标不在数字上时,它会默认地去在当前行正向查找一个数字。 所以呢,没有必要光标一定在数字上,这是一个快捷;

注意:在vim中,当数字以0开头时,会被认为这是8进制的;

技巧3:能够重复 就别在前面加入数字使用次数;

原因在于吧,当我们在前面加入数字使用次数时,我们还需要花时间数一下次数上;

技巧4:双剑合璧,天下无敌

各种操作符与动作的命令的组合使用很强大的。

如各种的操作符:

c               修改;
d 删除;
y 复制到寄存器;
g~ 反转大小写;
gU 转换为大写;
gu 转换为小写;
> 增加缩进;
< 减少缩进;
= 自动缩进;

操作符后面都可以跟这个表示范围的指令:

l: 表示一个字符,可以于操作符组合使用;

aw :表示一个单词; 不会count 空格;  前面可以加数字的;

iw:  选中一些单词, 会包括空格; 前面可以加数字;

ap: 表示一个段落,与操作符组合使用;

操作符后面也可以跟这些跳转动作指令:

G键是跳转命令。默认跳到最后一行;前面可以加数字的;表示跳到第几行;

gg键为跳转命令,默认跳到第一行,前面可以加数字,表示跳到第几行;

0: 跳转命令,跳到行首 ;

$:          表示跳到行尾;

w:     表示跳转到下一个单词的头部;

e:     表示跳转到下一个单词的尾部;

b:    表示跳转到上一个单词的头部;

ge: 表示跳转到上一位单词的尾差部;

另个,也可以使用一些插件自定义的操作符;

如果使用它们,应该安装插件;

参考:VIM实用技巧,第二版,作者:Drew Neil;翻译:杨源, 车文隆;

VIM下的普通模式的相关知识的更多相关文章

  1. OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理

    开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译 ...

  2. 一张思维导图带你梳理HashMap相关知识

    HashMap可以说是java中最常见也是最重要的key-value存储结构类,很多程序员可能经常用,但是不一定清楚这个类背后的数据结构和相关操作原理,为了复习HashMap相关的知识,今天花了一天的 ...

  3. 代码编辑器[0] -> Vim/gVim[2] -> Vim 的相关知识

    相关知识 / Relevant Knowledge 1 _vimrc编程 / _vimrc Program 1. 注释符", 用于注释 2. 关键词set, 用于设置功能等 3. 关键词im ...

  4. Vim编译器的相关知识

    Vim编译器相关知识 1.关于Vim编译器 在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vim是vi编辑器的升级版. vim 具有程序编辑的能力,可以主动的以字体 ...

  5. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识

    ---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...

  6. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  7. 【转】java NIO 相关知识

    原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...

  8. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  9. 地址标记,SpringMVC转发与调用相关知识存档

    1.mytest_mavenprj1中,index的 <a href="login/login.html">点击登录</a> 与 <a href=&q ...

随机推荐

  1. 设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)

    Sysctl是一个允许您改变正在运行中的Linux系统的接口.它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能.用sysctl可以读取设置超过五百 ...

  2. C++11 override和final

    30多年来,C++一直没有继承控制关键字.最起码这是不容易的,禁止一个类的进一步衍生是可能的但也很棘手.为避免用户在派生类中重载一个虚函数,你不得不向后考虑. C++ 11添加了两个继承控制关键字:o ...

  3. (转)Maven学习-处理资源文件

    转自:http://www.cnblogs.com/now-fighting/p/4888343.html 在前面两篇文章中,我们学习了Maven的基本使用方式和Maven项目的标准目录结构.接下来, ...

  4. DIOCP开源项目-数据库连接池的使用<多帐套数据库>

    很久没有写DIOCP的Demo了,主要公司的事情太繁琐,工作之余都不想动了,之前承若的群里面朋友们的DEMO,昨天晚上恶补了一下,把对数据库连接池的操作加入到了Demo中,大家可以通过SVN下载到最新 ...

  5. 【Acm】算法之美—Fire Net

    题目概述:Fire Net Suppose  that we have a square city with straight streets. A map of a city is a square ...

  6. Selenium查询10010账户余额——python篇

    [本文出自天外归云的博客园] 问题 最近在网上搜到了一些练习题,改编了一下这里的20题如下:登陆中国联通网上营业厅 后选择「自助服务」-->「查询」-->「账户余额」,然后输出手机号码和可 ...

  7. 1. EM算法-数学基础

    1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-高斯混合模型GMM详细代码实现 5. EM算法-高斯混合模型GMM+Lasso 1. 凸函数 通 ...

  8. Linux下RTL-SDR基础环境安装

    安装 cmake and libusb apt-get install cmake apt-get -dev 安装 RTL-SDR sudo apt-get install rtl-sdr kali已 ...

  9. Fiddler设置抓取FireFox火狐的包

    参考 http://blog.csdn.net/zhoutaohenan/article/details/8477993 亲测有效 Fiddler使用教程 http://blog.csdn.net/o ...

  10. [4G]4G模块的热重启

    最近在调试4G模块,发现在开机启动时执行的AT指令会概率性的出现返回杂乱字符串的问题.想尽了各种办法还是行不通,在系统中使用minicom敲AT指令就不会有问题,开始怀疑是串口初始化的问题,修改了很多 ...