VimScript入門編
echo "Hello"
" 改行なし
echon "Hello"
echon " World"
" 変数代入
let x = 1
let y = 1
echo x + y
"" 文字列
" 結合
let str = "aaa" . "bbb"
echo str
let str = join(["aaa", "bbb", "ccc"], ",")
echo str
" 分割
let row = split("a,b,c", ",")
echo row
" 長さ
echo strlen("abcde")
"" リスト
let list = [1, 2, 3]
echo list
echo list[0]
" 長さ
echo len(list)
" 任意の要素を取り出す
let first = remove(list, 0)
echon "first="
echo first
echon "remove after list="
echo list
let last = remove(list, -1)
echon "last="
echo last
echon "remove after list="
echo list
"" 辞書
let dict = {'a': 1, 'b': 2}
echo dict
echo dict['a']
" キー取得
echo keys(dict)
" 値取得
echo values(dict)
" [key, value]の形式のリストで取得
echo items(dict)
" キー存在確認
echo has_key(dict, 'a')
" キー削除
call remove(dict, 'a')
echo dict
"" 制御コマンド
" 条件分岐
let flag = 1
if flag == 1
echo "ture"
endif
" 三項演算子
echo flag == 1 ? "true" : "false"
" 繰り返し
let i = 0
while i < 5
let i += 1
echo i
endwhile
" リストの中身を走査する
for e in [1, 2, 3]
echo e
endfor
"" 関数
" 組み込み関数名と区別するため大文字から始める必要がある
" !で既存の関数を上書きするという意味
" 関数内で引数にアクセスするには、`a:`という接頭詞が必要
" 同一スクリプト内でのみ使える関数を定義するには、関数名の前に `s:`という接頭
" 詞が必要。この場合、関数名は大文字で始めなくても良い
function! Sum(x, y)
return a:x + a:y
endfunction
echo Sum(1, 3)