VimScriptで躓きやすいところ
というか,今日初めてVimScript触ったので,躓いたところを列挙しただけです.
実行
:source %
出力
改行あり出力
echo v
改行なし出力
echon v
代入
代入
let v = 0
演算代入
let v += 1
文字列と配列
文字列結合
let s = 'ABC'.'DEF' let s .= 'GHI'
配列スライス
文字列でも使える
let v = [1, 2, 3, 4, 5] v[1] #=> 2 v[1:3] #=> [2,3] v[1:] #=> [2, 3, 4, 5] v[:-1] #=> [1, 2, 3, 4]
文字列と数値の掛け算
できない
"TEST"*3 #\=> "TESTTESTTEST"
真偽値型
はない
代わりにtrueは非0(1など), falseは0を使う
制御構文
if文
if bool ... elseif ... endif
for文
foreachっぽいかんじ
for x in list ... endfor
while文
while bool ... endwhile
関数
関数定義
関数名は大文字からはじめる
:source %するときはすでにある関数を上書きするのでfunction!する
function f(v) ... endfunction
引数の参照
引数の参照をするにはプレフィックスa:をつける
a:v
組み込み関数
range(10) #=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] range(2, 10) #=> [2, 3, 4, 5, 6, 7, 8, 10] nr2char(72) #=> 'H' char2nr('H') #=> 72 getline("1", "$") # 今開いているバッファの行をリストとして得る setline("1", list) # 今開いてるバッファに行のリストを挿入する split("A,B,C", ",") #=> ["A", "B", "C"] join(["A", "B", "C"], ",") #=> "A,B,C"