在我们已经过了35个章节才来讲解循环,这点可能会让你觉得比较奇怪。这是因为vim提供了很多其他的方式来对文本进行操作(例如normal!),这样就使得循环在vim里没有像其他编程语言里显得那么重要了。
即使是这样,但是你肯定还是会需要这个功能的,所以我们会看看vim里主要的两种循环方式。
我们要看的第一个循环是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