Vimscript编程指南

循环

在我们已经过了35个章节才来讲解循环,这点可能会让你觉得比较奇怪。这是因为vim提供了很多其他的方式来对文本进行操作(例如normal!),这样就使得循环在vim里没有像其他编程语言里显得那么重要了。

即使是这样,但是你肯定还是会需要这个功能的,所以我们会看看vim里主要的两种循环方式。

For循环

我们要看的第一个循环是for循环。如果你比较习惯于Java,C或者Javascript的for循环的话,那么这里的for循环看起来就有些别扭了,不过这里的看起来更加高雅。运行下面的命令:


     :let c = 0
     :for i in [1,2,3,4]
     :     let c += i
     :endfor

     :echom c
     

Vim会输出“10”,即是列表里的元素的和。Vimscript的for循环可以迭代列表以及后面会提到的字典。

vim里没有像C语言一样的 for (int i = 0;i < foo; i++)的循环方式。这个可能刚开始看起来的时候比较麻烦,但是你用习惯了的话就不会去想它的。

### While循环

Vim也支持传统的while循环。运行下面的命令:

     :let c = 1
     :let total = 0
     :while c <= 4
     :     let total += c
     :     let c+= 1
     :endwhile

     :echom total

这次Vim还是会输出“10”。这个循环对任何一个有编程经验的人都是熟悉的,所以这里我们就不讲解了。这个循环你很少会用到的。你只需要在碰到的时候记得有这个功能就可以了。

练习

  • 阅读:help for
  • 阅读:help while