第3回Vimスクリプト入門みたいの(変数その2)
" usr_41.txt vimスクリプトの書き方から " 「41.2 変数」より " " 今日は前回予告したとおり、:unlet を使って変数を削除してみる。 " まず、前回の初めに使ったサンプルをいじってみる。 " 最後の行に :unl[et] を追加した。きっと常に1が出力されるはずだ。 " if !exists("s:cnt") let s:cnt = 0 en let s:cnt = s:cnt + 1 ec s:cnt unl s:cnt " いつものように " :so % " " 正常に動作する。じゃあ次は、わざとエラーを出してみる。 " ドキュメントによると、変数がない状態で :unlet をかけるとエラーが出るらしい " :unl! とすればエラー無視ができるらしい。 " unl s:cnt " 予想どおりのエラー unl! s:cnt " 特になにも起きない。 " " とりあえず :unlet には ! をつけておいたほうがいいかもしれない。 " この章の残りは文字列の変数についてだけど、 " ありがちな文字列定数と同じだと思う。 " 'だとエスケープシーケンスがきかない。 " "だとエスケープシーケンスがきく。 " "の中で'を使用可能。 " 'の中で"を使用可能。 " "の中では\"を使用可能。 " あとは \<Esc> みたいな表記ができるくらいで特に違和感はなさそう。 " ついでに文字列の結合は . という演算子を使うぽい。 " ec 'fuga' . 'hoge' " こうすると fugahoge となる " " もうすこし、ためしてみる if !exists('s:cnt') let s:cnt = 0 en ec 'fuga' . s:cnt . 'hoge' let s:cnt = s:cnt + 1 " 数字の結合も簡単にできる。まぁ当然か。 " " なんか半端な感じだけど、今日はここまで。 " " 今日のまとめ " :unl[et][!] {var-name} ... " " " あ、複数削除もできるみたいね。まぁ試さなくてもいいよね。 "