循环

你可能会惊讶的发现,虽然我们已经完成了这本编程语言书籍的35个章节,但是还没有涉及到循环! Vimscript 提供了如此多其他的选项来实现文本上的操作(例如 normal!),所以循环不如其他语言中显得那么重要。

虽然如此,可能某一天你确实需要用到,所以,我们现在来看看 Vim 支持的两种主要循环。

for 循环

第一种循环是 for 循环。如果你使用过 Java、C、或是 Javascript 的 for 循环, 可能会觉得有点奇怪,但是也足够优雅。运行以下命令:

:let c = 0

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

:echom c

Vim 显示 10,这是把列表中的元素加起来的结果。 Vimscript 的 for 循环会遍历列表(或者字典,我们会在后面讲到)。

在 Vimscript 中,没有等效于 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

原文地址:http://learnvimscriptthehardway.stevelosh.com/chapters/36.html