前面第二节我首先值得一提的是,我的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. CentOS 配置防火墙操作实例(启、停、开、闭port)

    CentOS 配置防火墙操作实例(启.停.开.闭port): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service   iptables status& ...

  2. 给一个执行在windows 7和NAT下的VMWARE虚拟机分配固定IP

    虚拟机上装了个oracleserver,每次vmware重新启动或者resume时总要分配新的IP地址,这样就得改动windows下的client配置,所以须要想办法把IP地址固定住. DHCP服务在 ...

  3. CoAP与物联网系统

    CoAP简单介绍 引自维基百科上的介绍,用的是谷歌翻译... 受约束的应用协议(COAP)是一种软件协议旨在以很easy的电子设备.使他们能够在互联网上进行交互式通信中使用. 它特别针对小型低功率传感 ...

  4. Docker之基础篇

    小白学Docker之基础篇   系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1 ...

  5. 2015北京网络赛 J Scores bitset+分块

    2015北京网络赛 J Scores 题意:50000组5维数据,50000个询问,问有多少组每一维都不大于询问的数据 思路:赛时没有思路,后来看解题报告也因为智商太低看了半天看不懂.bitset之前 ...

  6. 洛谷P1919 【模板】A*B Problem升级版(FFT快速傅里叶)

    题目描述 给出两个n位10进制整数x和y,你需要计算x*y. 输入输出格式 输入格式: 第一行一个正整数n. 第二行描述一个位数为n的正整数x. 第三行描述一个位数为n的正整数y. 输出格式: 输出一 ...

  7. Huawei配置两台交换机堆叠示例

    配置两台交换机堆叠示例(先配置后连线方式,推荐) 一.基本概念 在堆叠中,有以下一些基本概念,如图1所示.图1 堆叠基本概念示意图 1. 角色堆叠中的单台交换机称为成员交换机,按照功能不同可以分为以下 ...

  8. CodeChef November Challenge 2013 部分题解

    http://www.codechef.com/NOV13 还在比...我先放一部分题解吧... Uncle Johny 排序一遍 struct node{ int val; int pos; }a[ ...

  9. javaScript call与apply学习笔记

    call和apply是借用他人的函数实现自己到功能,具体表现在改变this指向,借用他人方法 而不同的地方是call是把实参按照形参的个数传入,而apply传入的是一个数组(argument) 写一个 ...

  10. 学习TF:《TensorFlow技术解析与实战》PDF+代码

    TensorFlow 是谷歌公司开发的深度学习框架,也是目前深度学习的主流框架之一.<TensorFlow技术解析与实战>从深度学习的基础讲起,深入TensorFlow框架原理.模型构建. ...