「vimスクリプトの制御構文のコマンド」の版間の差分
提供: neovim/vim入門
(ページの作成:「vimスクリプトでは、forやwhile, if/else などの制御構文が利用できます。 '''読み方''' ;制御構文:せいぎょこうぶん __TOC__ == 概...」) |
(相違点なし)
|
2014年12月31日 (水) 18:58時点における最新版
vimスクリプトでは、forやwhile, if/else などの制御構文が利用できます。
読み方
- 制御構文
- せいぎょこうぶん
目次
概要
vimスクリプト には、
- if/elseif/else
- for
- while
- try/catch/finally
などの制御構造を実現するための、制御用のコマンドが用意されています。
ループ制御用のコマンドとして
- break
- continue
があります。
if/elseif/elseコマンド
if コマンド
if 条件 " endif
if /elseif /else コマンド
if 条件 " else if 条件 " endif
if 条件 " else if 条件 " else " endif
論理演算子
演算子 | 説明 |
---|---|
a == b | 等しい |
a != b | 等しくない |
a > b | より大きい |
a >= b | 以上 |
a < b | より小さい(未満) |
a <= b | 以下 |
a =~ b | 正規表現 b に a がマッチする |
a !~ b | 正規表現 b に a がマッチしない |
whileコマンド
while 条件 endwhile
forコマンド
for e in リスト endfor
以下は、range と for を使用して、1 から 4 を表示するだけの例です。
for i in range(1,4) echo i endfor
3回(0,1,2)、ループを回したいなら、以下のコマンドで実現できます。
for i in range(3) echo i endfor
8,6,4とループを回したい場合は、このような書き方で実現できます。
for i in range(8,4,-2) echo i endfor
1行目から20行目を操作したいなら、getlineを併用します。
for line in getline(1,20) " line をホゲホゲする endfor
例外
例外は、throwコマンドによって送出されます。vimの例外処理は、catchコマンドにキャッチするエラーメッセージを正規表現(パターン)で記述します。
try " なんかの処理 catch /エラーメッセージ ほげほげ/ echo "ほげほげエラーをキャッチしましたー endtry
以下の catch コマンドは、すべてのエラーを捕捉できます。
:catch /.*/ :catch
finally コマンドで、必ず実行する処理を記述できます。処理中にエラーが起きても、テンポラリのファイルを削除する、といった使い方ができます。:continue, :break, :finish, :return を使った場合、エラー、割り込み、例外が発生した場合でも実行されます。
try " なんかの処理 catch /エラーメッセージ ほげほげ/ echo "ほげほげエラーをキャッチしましたー finally " かならず実行する処理 endtry