• 辛星跟您玩转vim第三节之程序猿特须要的移动方式


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

  • 相关阅读:
    求最长不降子序列

    普通背包问题
    求最大子序列
    最大人品
    C# 显示webBrowser页面加载进度
    Provider 错误 '80004005' 未指定的错误 的最终解决方法
    C# 截取webBrowser网页存为图片
    浅谈Python小数据池
    js文件编译成动态链接库(dll)文件
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6962106.html
Copyright © 2020-2023  润新知