VIM使用系列:位置跳转和块模式

淺唱寂寞╮ 提交于 2019-12-11 19:57:44

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

前面的系列中对于VIM中的函数及变量符号的跳转进行了简单的介绍,那也是在项目开发过程中用的最多的操作了。但是在这一个多月的项目开发中,我还是经常会需要在文件中进行各种非符号的跳转,更多的是位置的跳转和切换,这些操作渐渐地也就越来越频繁和熟练,在此记录一下以分享和备忘。

括号跳转

小括号的跳转:跳到句子的下头,句子以句号或者空行结束,英文中的句号为 “.”。

  • (          (左小括号) 移到这个句子的开头
  • )          (左小括号) 移到下一个句子的开头

中括号的跳转:跳到函数的开头或者结尾。

  • [[         跳往上一个函式的起始大括号
  • ]]         跳往下一个函式的起始大括号
  • []         跳往上一个函数的结束大括号
  • ][         跳往下一个函数的结束大括号

大括号的跳转:跳到段落的开头,段落以空行划分

  • {         (左大括号) 跳到上一段的开头
  • }         (右大括号) 跳到下一段的的开头

括号匹配

在码代码的体力劳动中,要全面兼顾总是不那么容易的,尤其是一些小细节,比如括号的匹配问题。在阅读别人的代码时,通过快速定位匹配的括号也是快速把握逻辑的捷径。之前我都是一行行地移动也人工找到匹配的括号的,直到有一天受够了这种低效率的操作方式,找到了快捷符号: %.

%  可以让光标从它当前所在的括号跳转到与它相匹配的括号上去, 对花括号和圆括号, 方括号都有效,是用来检查括号是否匹对的必备杀器,以后再也不用急躁找错括号了。

位置标记

在上面的各种跳转方式下,在项目中通过标记一处位置来进行跳转的方式用的真不多,我也是最近几天才开始用了几次。但是有的时候在长篇大论的文件中,对特殊位置的频繁定位有需求的话,这是一个不错的高效方法。

  • 对文件中光标所在的位置进行标记: m  <char> ,char是a-z中的任意一个字母,如: m a
  • 跳转到标记位置处: '  <char> ,char是上面定义好的标记符,如: ' a
  • 调回之前的位置处: ''   ,按两次英文的单引号,注意不是双引号。

一个标记或者叫书签,会一直存在,除非删除了标记的行或者之后又使用了相同的书签。

块模式

这里的块模式是指VIM中的VISUAL模式,在该模式下你可以进行一些文本块的选择、复制、剪切、删除和粘贴等操作,更类似于windows下的鼠标文本编辑操作。存在两种稍有不同的VISUAL模式:

  • VISUAL模式        在NORMAL模式下按字母 v 键进入,这是一般的文本块编辑模式
  • VISUAL  BLOCK模式     在NORMAL模式下按Ctrl+v 组合键进入,这是垂直文本框编辑模式,比较特殊和少见

进行上述模式后,都可以通过按 Esc 键返回NORMAL模式。

在VISUAL模式中,通过移动光标选择好文本块,以行为方向,VIM会高亮选中的文本,然后可以使用常用的VIM编辑命令,如y,d,p,>>等。在VISUAL  BLOCK模式中,通过移动光标可以进行垂直的文件块选择,就像windows中的按住Alt键后用鼠标进行文本选择,只能选择光标起始点和结束点为对角线的矩形区域内的文本。在这两种VISUAL模式下有一个实用的操作,那就是进行代码段的缩进对齐。

进入VISUAL模式后选择好需要进行对其的代码范围,然后按 = 键就OK了,这样选中的代码就自动地进行了合理的缩进和对齐。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!