前面第二节我首先值得一提的是,我的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。期待您的关注。

最新文章

  1. 学习python函数笔记之一
  2. 在macbook上搭建ubuntu工作环境
  3. IEEE参考文献格式
  4. 使用Burpsuite破解Webshell密码
  5. 【转】在Eclipse中建立第一个Servlet程序
  6. Java--&gt;List&amp;Set
  7. urllib,urllib2,requests对比
  8. MySQL基础之第5章 操作数据库
  9. js页面刷新一次
  10. 201521123001《Java程序设计》第10周学习总结
  11. 11、ABPZero系列教程之拼多多卖家工具 拼团提醒功能页面实现
  12. &lt;三&gt;企业级开源仓库nexus3实战应用–使用nexus3配置maven私有仓库
  13. React文档(二十)不使用JSX
  14. js 两数的最大公约数
  15. 理解BFC
  16. 3、LwIP协议栈规范翻译——概述
  17. linux command ------ dmesg
  18. JavaScript的事件对象_滚轮事件
  19. 怎样搭建一个自有域名的 WORDPRESS 博客?
  20. 通过Fiddler进行手机抓包

热门文章

  1. idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
  2. 【Codeforces Round #423 (Div. 2) C】String Reconstruction
  3. vmware下minimum安装centos后配置网络
  4. hdu 1024 最大m子段和
  5. SpringMvc 系统启动时加载数据到内存中
  6. Servlet深入学习,规范,理解和实现(中)——深入理解Tomcat(一)
  7. codeforces 710A King Moves(水)
  8. NGINX 代理以及 HTTPS (一)
  9. sql中 where语句的用法
  10. Vbox下创建Linux和Windows的共享文件夹