Vim是什么东西? 通俗地说,Vim是一款编辑器,而且是开源的。熟悉它的人自然是熟悉不过,没听说过它的人也许以为是什么高大上的东西呢。程序员、尤其是同Linux内核打交道的,应该都听说过,说不定还是使用者呢。
其实这个东西不仅仅是编辑器了,它还可以把与代码阅读、编辑相关的“下游工作”(比如代码编译)给捎带着做了,当然这些下游工作不是它本身完成的,但是它提供了“入口”或者说工具,你只要通过一些设置,就能很方便地把后续工作做完。
Vim使用入门比较困难,但是入门后、熟悉了,它能给你的工作带来方便、高效。入门比较困难,是因为它的大多数操作都是基于键盘敲键的,对于习惯鼠标的使用者来说是个挑战。当然这并不是说它不支持鼠标操作(一般编辑器支持的鼠标操作它都支持),而是它的开发者从一开始就知道,要想给程序员带来高效、便捷,还必须是键盘敲键输入命令进行操作。
下面两个截图,是我的ubuntu20.04下的shell版本及Gvim版本打开时情况。
今天要分享的技巧是搜索代码中的for循环语句。在命令模式下(Vim文档中的术语叫normal模式),输入以下:
/for\s*(\P*)
“/”是用于搜索的前导标志符,在其之后输入你要搜索的内容,比如“for”。“\s”是什么呢,是Vim中的正则表达式,表示空格或制表符(Space或者Tab),“*”表示匹配0次或多次,也就是说代码中for后面没有空格,或者一个、多个空格的情况都能找到。“(”是for后面的开括号,“\p”匹配括号里的初始化、测试和更新语句,它本身是指可打印字符,“*”跟上面“\s”后面的一样,匹配0次或者多次,“)”是闭括号。
我们为什么要搜索这个语句呢?这个可以很快查找代码中的bug,因为尽管每次都小心翼翼,但总是有那么一两次,在这个语句后多加了“;”,程序员当然知道在for循环语句括号后加上分号,意味着什么。
/for\s*(\P*);
(以上内容在本人公众号《猿小梦》发表过)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。