前面第二节我首先值得一提的是,我的vim教程pdf版本号已经写完了。大家能够去下载,这里是csdn的下载地址:csdn下载。假设左边的下载地址挂掉了。也能够自行在浏览器以下输入例如以下地址进行下载:http://download.csdn.net/detail/xinguimeng/7714213
,当然,假设你是百度网盘的忠有用户。也能够借助于百度网盘,我也同步上传到百度网盘了。下载地址例如以下:百度网盘下载 ,假设地址挂了,能够在浏览器中输入:http://pan.baidu.com/s/1sj9CLXz
来下载。

前面我们介绍了怎样在命令模式下移动光标,可是对于程序猿来说远远不够。主要是程序猿的需求有点特殊,而vim的开发人员也是程序猿。自然,程序猿何必为难程序猿,可是,程序猿到底有哪些需求是特别重要的呢?

***********************************程序猿特供*******************************

1.在我们用类C语言去编程的时候。常常会被层层嵌套的大小中括号给搞得头晕脑胀的,别急,作为神器的vim已经帮我们想好了一个解决方式。那就是我们仅仅须要把光标移动到某一个括号上,然后在命令模式下运行%命令,它会自己主动把光标定位到与之相应的括号上,无论是小括号。大括号,还是中括号。都是适用的。假设运行了该命令而没有匹配到。多半是程序编写不对。事实上我们不用运行%命令,当我们移动到括号的一部分的时候。还有一部分会自然而然的高亮显示。

2.有时候我们须要高亮显示行号,我们能够用:set number来显示行号,注意,我们在插入模式下,先用ESc键回到命令模式下。然后用:进入底行模式,然后输入set number,这样才干够显示行号,而:set nonumber则会取消显示行号。

3.有时候我们编敲代码,假设是c、cpp等编译型程序。常常会说编译到某一行的时候出现错误。因为我们的程序动辄就几百行,假设是靠鼠标的滚轮和眼睛去找到它,那无疑是很费力的,在vim下,我们能够用G命令来搞定它,这里的G是“go”的意思,表示“前往,到达”。比方我们想到达200行。那就能够在命令模式下输入200G来做到。

4.值得注意的是,这里的G是须要大写的。通常我.喜欢按住shifit然后再按下g键就ok了。

跳转到其它行也是类似的。我就不亲自打命令了。

5.有时候,我们并不知道详细的行数,仅仅是想看看大致的某一部分代码。我们能够用%命令,比方50%表示跳转到文件大约百分之五十的地方,当然,这里的50也能够换成其它的数字,来表示各种不同的位置。

**************************************搜索*********************************

1.咱们程序猿常常须要查看某个函数的功能等等,那么怎样高速的通过变量名和函数名来查找呢?

2.当然,咱们后面会学习好几种更强大的方法。可是。这里的使用/加一个单词的形式来做它无疑是最快捷的方式,然后咱们能够用数字加n的组合表示来定位第几个单词,也能够直接用n命令来定位到下一个。

3.假设我们单纯的想看看某个函数名。比方该函数名叫xin,那么我们能够用/\<xin\>来做到,当中\<表示匹配一个单词的开头,而\>表示匹配一个单词的结尾。

***************************正則表達式***********************************

1.没错,我想大多数程序猿都会正則表達式把,至于有多熟悉,那和自己工作的方向有关,可是。至少应该懂点。

2.我们前面说过用定界符来仅仅搜索xin这个变量或者函数名,没错,咱么也能够用/^xin$来匹配这一行之中仅仅有一个xin单词的情况。

3.我们能够用.来匹配不论什么字符,比方x.g能够匹配到xinxing,还能够匹配到xig,还能够匹配到xiig。

4.那么可能会有人说,假设我想匹配xin.呢?即前三个字符是xin,后一个字符是一个点。那么我们能够用反斜线来给它转义,即xin\.来表示xin.这样。

*****************答读者问*******************************

1.可能大家读到这里。我不知道读者是什么感受。

2.只是vim确实对程序猿提供了良好的支持,这也是vim和emacs可以牢牢的吸引程序猿的一大魅力之处。

3.辛星vim。期待您的关注。

辛星跟您玩转vim第三节之程序猿特须要的移动方式的更多相关文章

  1. 辛星跟您玩转vim第一节之vim的下载与三种模式

    首先值得一提的是,我的vim教程pdf版本号已经写完了,大家能够去下载,这里是csdn的下载地址:点此下载 ,假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http://d ...

  2. 辛星跟您玩转vim第二节之用vim命令移动光标

    首先值得一提的是,我的vim教程pdf版本号已经写完了,大家能够去下载.这里是csdn的下载地址:csdn下载.假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http:// ...

  3. 辛星跟您玩转vim第四节之操作文本内容

    首先值得一提的是.我的vim教程pdf版本号已经写完了.大家能够去下载,这里是csdn的下载地址:csdn下载,假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http:// ...

  4. 辛星笔记——VIM学习篇(推荐阅读)

    转载自:辛星和您一起学vim脚本第一节 如本文侵犯了您的版权,请联系windeal12@qq.com 这几天在网上看了辛星的一些vim教程博文,觉得很有收获,也很实用,适合入门,所以转载其中一篇留个网 ...

  5. 辛星深入分析vim的自己主动补全功能以及vim的映射

    曾经对于vim的自己主动补全功能,都是须要的时候从网上下载点配置项,然后复制到自己的vimrc上去,自己也不知道是什么意思.结果发现搜索到的非常多自己主动补全的方式都非常另类,有的喜欢在补全大括号的时 ...

  6. 辛星跟您解析在CSS面包屑中三角形的定位问题

    刚才看到有位网友非常纳闷第二个棕色三角形是怎么定位的,我当感觉在以下说不清楚,就特别开了一片博客.来说清楚它.首先,前面的代码我们先抄下来,至于前面这部分代码是怎么来的,读我的用CSS制作面包屑导航的 ...

  7. 2014年辛星完全解读Javascript第七节 数组和对象

    由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. *********** ...

  8. 2014年辛星完全解读Javascript第八节 json

    json是JavaScript Object Notation的简写,它是一种轻量级的数据交换格式,而且表达上很容易靠字面去理解.json是用于存储和传输数据的格式,通常用于向服务器端传递数据. ** ...

  9. 2014年辛星完全解读Javascript第六节 对象

    随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象 ...

随机推荐

  1. python web开发 框架 模板 MVC

    我是跟着廖雪峰老师学习的,对于我这样的纯小白来说,跟着他的网站学习,简直是被妈妈抱在怀里一样无忧无虑,这样的学习本来没有记录下来的必要,但是由于我的粗心大意,经常会出现一些错误,所以我决定把这些错误记 ...

  2. caioj 1074 动态规划入门(中链式1:最小交换合并问题)

    经典的石子合并问题!!! 设f[i][j]为从i到j的最大值 然后我们先枚举区间大小,然后枚举起点终点来更新 f[i][j] = min(f[i][k] + f[k+1][j] + sum(i, j) ...

  3. 紫书 例题 10-20 UVa 10900(连续概率)

    分两类,当前第i题答或不答 如果不回答的话最大期望奖金为2的i次方 如果回答的话等于p* 下一道题的最大期望奖金 那么显然我们要取最大值 所以就要分类讨论 我们设答对i题后的最大期望奖金为d[i] 显 ...

  4. CF 414B Mashmokh and ACM 动态规划

    题意: 给你两个数n和k.求满足以下条件的数列有多少个. 这个数列的长度是k: b[1], b[2], ……, b[k]. 并且 b[1] <= b[2] <= …… <= b[k] ...

  5. iOS 动画Animation - 5:UIBezier

    首先说明:这是一系列文章,參考本专题下其它的文章有助于你对本文的理解. 在之前的bolg中大家会发现总是会出现UIBezier,可是我也没有做过多介绍,今天就集中介绍一下UIBezier.首先.UIB ...

  6. [Recompose] Refactor React Render Props to Streaming Props with RxJS and Recompose

    This lesson takes the concept of render props and migrates it over to streaming props by keeping the ...

  7. [Python] Statistical analysis of time series

    Global Statistics: Common seen methods as such 1. Mean 2. Median 3. Standard deviation:  the larger ...

  8. 改动npm包管理器的registry为淘宝镜像(npm.taobao.org)

    起因 安装了node.安装了npm之后,官方的源实在是 太慢了! 看了看淘宝的npm镜像, http://npm.taobao.org/  居然说让我再下载一个cnpm,要不然就每次都得install ...

  9. 面向对象 —— 对类(class)的理解

    类是成员变量和成员函数的封装,封装的一个重要功能就是可见性(继承除外,当然继承是面向对象的另外一个重要特性),所谓可见性,类内可见,类外不可见.可见性保证了类型安全(type-safe) 对类进行实例 ...

  10. BZOJ 4034 线段树+DFS序

    思路: 先搞出来每个点的DFS序 (要有入栈和出栈两种状态的) 处理出来 线段树区间有多少入栈的和多少出栈的 加区间的时候就加(入-出)*wei 查前缀和 //By SiriusRen #includ ...