basyura's blog

あしたになったらほんきだす。

41.1 はじめに

基礎を学ぶために vim-script-intro を読み始めてみる。

:help vimscript-intro

変数の定義

let {変数名} = {}

while 文

while {条件式}
  {ステートメント}
endwhile

range を使った for 文

for i in range(from , to)
endfor

動かしてみる

let i = 1
while i < 5
  echo "count is" i
  let i += 1
endwhile
"=> count is 1
"=> count is 2
"=> count is 3
"=> count is 4
for i in range(1, 4)
  echo "count is" i
endfor
"=> count is 1
"=> count is 2
"=> count is 3
"=> count is 4
for v in ['a' , 'b' , 'c' , 'd']
  echo "value is" v 
endfor
"=> value is a
"=> value is b
"=> value is c
"=> value is d

echo

文字列の連結は . が無くても OK なのかと勘違いするけど

:ec[ho] {expr1} ..  各{expr1}をスペースで区切って表示する。
                    最初の{expr1}の表示は、常に新しい行から始まる。

スペース区切りで表示

let i = 5
echo "value is" 5
"=> value is 5

スペースを入れずに連結する場合は . を入れる

let i = 5
echo "value is" . 5
"=> value is5

文字列の連結は . で

let v = "value" . " " . "is" . " " . "5"
echo v
"=> value is 5

これ↓は "is の "がコメント扱い

let v = "value" "is" "5"
echo v
"=> value

これ↓はエラー

let v = "value" 'is' '5'
echo v
"=> value

これ↓もエラー

let spearator = "/"
let v = "value" separator "5"
echo v

文字列と数字をそのまま連結できる

let v  = "value" . 5
echo v
"=> value5