第1回Vimスクリプト入門みたいの

" usr_41.txt vimスクリプトの書き方 「41.1 はじめに」より

:let i = 1
:while i < 5
:  echo "count is " i 
:  let i = i + 1
:endwhile

" ここまでファイルに書いたら、保存して
" :source % 
" で実行してみる。なるほど、全部コマンドなわけね。
" :help で調べろってことね。
"
" :help :let 
" :let {var-name} = {expr1}
" と似たようなのが三つ、四つでた。変数うんぬんの話でちょい面倒くさい。
" まず間違いなく変数のスコープの話だから、読めばわかるだろうけど今はパス。
" 代入するときは let をつけろってことで、丸暗記。
"
" :help :while 
" :wh[ile] {expr1}
" :endw[hile] 
" 動作的には C と同じぽい。
" 省略ができるぽいので次からは遠慮なく省略。
" :help も :h[elp] だから :h にしていくね
"
" :h :echo
" :ec[ho] {expr1} 
" よーわからんが「<EOL>までガンガン出力するぽよ」ってことらしい。
"
" あとvimスクリプト中の : は省略できるらしいので、これまた遠慮なく省略。
"
" おーし、ここまでの内容から、
" 0 から 9 まで出力してみる。

let i = 0
wh i < 10
  ec i
  let i = i + 1
endw

" 動いた!やったね!……なんて喜ぶとでも思ったか、バカ野郎。
" 条件分岐、条件分岐が足りん。というわけで、それっぽいのを探してみる。
" 
" :h :if
" :if {expr1}
" :en[dif]
" キター!これまた動作は C と同じぽい。いける。
" ついでに、そのすぐ下にあった
" :el[se]
" :elsei[f] {expr1}
" もいただき。
"
" 条件文を追加して、もう一個作ってみる。
" 0 から 10 までの奇数を出力する。

let i = 0
wh i < 10
  if i % 2 == 1
    ec i
  en
  let i = i + 1
endw

" さらになつかしの FizzBuzz だ

let i = 1
wh i <= 100
  if (i % 5 == 0) && (i % 3 == 0)
    ec "FizzBuzz"
  elsei (i % 5 == 0)
    ec "Buzz"
  elsei (i % 3 == 0)
    ec "Fizz"
  el
    ec i
  en
  let i = i + 1
endw

" なぜか直感で書いた
" i % 2 == 1
" やら
" (i % 5 == 0) && (i % 3 == 0) 
" が動いている気がするが、そこはVimのナニやらアレやらが寛大だからだろう!
" 今日もおれは救われた。ありがとうVimmy!
"
" 今日のコマンド一覧
" :h[elp]
" :let
" :wh[ile] {expr1}
" :endw[hile]
" :ec[ho]
" :if {expr1}
" :en[dif]
" :el[se]
" :elsei[f] {expr1}
"