VIM下的普通模式的相关知识
什么为一次操作?
从进行插入模式开始,直到返回普通模式为止,在此期间的任何修改都视为一次操作; 使用 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下的普通模式的相关知识的更多相关文章
- OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理
开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译 ...
- 一张思维导图带你梳理HashMap相关知识
HashMap可以说是java中最常见也是最重要的key-value存储结构类,很多程序员可能经常用,但是不一定清楚这个类背后的数据结构和相关操作原理,为了复习HashMap相关的知识,今天花了一天的 ...
- 代码编辑器[0] -> Vim/gVim[2] -> Vim 的相关知识
相关知识 / Relevant Knowledge 1 _vimrc编程 / _vimrc Program 1. 注释符", 用于注释 2. 关键词set, 用于设置功能等 3. 关键词im ...
- Vim编译器的相关知识
Vim编译器相关知识 1.关于Vim编译器 在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vim是vi编辑器的升级版. vim 具有程序编辑的能力,可以主动的以字体 ...
- 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识
---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- 【转】java NIO 相关知识
原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...
- iOS网络相关知识总结
iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...
- 地址标记,SpringMVC转发与调用相关知识存档
1.mytest_mavenprj1中,index的 <a href="login/login.html">点击登录</a> 与 <a href=&q ...
随机推荐
- Apache Flink Training and sample code
http://training.data-artisans.com/ https://github.com/dataArtisans/blog-post-code-samples https://gi ...
- [Windows Azure] Building worker role A (email scheduler) for the Windows Azure Email Service application - 4 of 5.
Building worker role A (email scheduler) for the Windows Azure Email Service application - 4 of 5. T ...
- (原创)用c++11打造好用的variant(更新)
关于variant的实现参考我前面的博文,不过这第一个版本还不够完善,主要有这几个问题: 内部的缓冲区是原始的char[],没有考虑内存对齐: 没有visit功能. 没有考虑赋值构造函数的问题,存在隐 ...
- IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
名词解析: 主机字节序: 不同的CPU有不同的字节序类型,这些字节序是指整数在内存中保存的顺序,这个叫做主机序.最常见的有两种 1.Little endian:低字节存高地址,高字节存低地址 2.Bi ...
- 【Java】Java复习笔记-第二部分
类和对象 类:主观抽象,是对象的模板,可以实例化对象 习惯上类的定义格式: package xxx; import xxx; public class Xxxx { 属性 ······; 构造器 ·· ...
- js判断网页是真静态还是伪静态的方法
现在很多网站都是使用以“.html“为扩展名的网页,这样做的好处是有利于搜索引擎收录和排名,或者是其他目的,如可以缩短网址使人容易记住.不过有意思的是并不是所有的以“.html”扩展名的网页都是静态的 ...
- sql2005分页储存过程和C#分页类
1.sql2005分页储存过程 --sql2005,qq524365501 create Procedure up_page2005 ), -- 表名称 ), -- 列 ), -- 主键,用于统计总数 ...
- javascript检测浏览器的缩放状态实现代码 是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放)
这里所说的缩放不是指浏览器大小的缩放,而是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放).检测这种缩放有很种方法,QQ空间都通过flash来检测浏览器是否处于缩放.这里提供java ...
- kali kvm Requested operation is not valid: network 'default' is not active
安装时候参考的:http://www.ilanni.com/?p=6101 今天安装完kvm,满是幸福的装了个xp,重启后出现了一个错误 Requested operation is not vali ...
- linux下Anaconda安装使用Tensorflow
# linux下Anaconda安装使用Tensorflow ### 环境------------------------------ Ubuntu 18.04 ### 环境准备----------- ...