「vimスクリプトの変数」の版間の差分

提供: neovim/vim入門
移動: 案内検索
 
行97: 行97:
 
:let foo = 'hoge'
 
:let foo = 'hoge'
 
:echo foo
 
:echo foo
 +
</syntaxhighlight>
 +
== 変数の定義されているかを確認する方法 ==
 +
exists()を使うと変数が定義されているか確認できます。
 +
 +
変数 foo が存在している確認する方法は、以下の通りです。
 +
<syntaxhighlight lang="vim">
 +
:echo exists('foo')
 +
</syntaxhighlight>
 +
以下のように表示されます。
 +
;1:存在してる
 +
;0:存在していない
 +
<syntaxhighlight lang="vim">
 +
:echo exists('foo') " 0
 +
:let foo = 1
 +
:echo exists('foo') " 1
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== 関連項目 ==
 
== 関連項目 ==

2014年12月31日 (水) 18:30時点における最新版

vimの変数は、宣言なく利用でき、スコープがあり、型はあるがPHPっぽく使用できます。

読み方

変数
へんすう

概要

  • 変数宣言はない
  • 変数には、型があるが、型宣言をするわけではない。変数には、PHP っぽく値を代入できる。
  • letコマンドで変数に値を代入し、unletで変数を削除する
  • 変数には、スコープがある

変数の宣言

vimスクリプトの変数には、宣言は必要ありません。変数は、値をセットできます。変数の型は、いくつもありますが、C言語のように変数の型を宣言せず、PHPのように変数になんでも代入するモデルです。

変数の代入と削除

変数に値を代入するには、let コマンドを使用します。

let foo = "hoge"

変数を削除するには、 unlet を使用します。

unlet foo

変数の型

vimスクリプトの変数の型
説明
数値 32bit or 64bit の符号付き整数 -1, 0x10, 0177
浮動小数点数 浮動小数点の数値。 123.456, 1.15e-6, -1.1e2
文字列 終端がNUL文字の 8bit の符号なし文字 'abc'
Funcref 関数への参照 function("strlen")
リスト 要素の順番付きのリスト [1,2,['a','b']]
辞書 順番を持たない連想配列 {'blue': "#0000ff", 'red': "#ff0000"}

変数のスコープ

vimスクリプトの変数のスコープ
前置詞 説明
b: 弁財のバッファのローカル
w: 現在のウィンドウのローカル
t: 現在のタブページのローカル
g: グローバル変数
l: 関数のローカル
s: vimスクリプトのローカル
a: 関数の引数(関数内のみ)
v: グローバル、vimの定義

関数の引数の変数

前置詞 a: は、以下のように使用します。仮引数リストには a: は、書きません。

function Foo(bar)
	echo a:bar
endfunction

変数の値を表示する

echo コマンドでメッセージとして、変数の値を表示できます。

:let foo = 'hoge'
:echo foo

変数の定義されているかを確認する方法

exists()を使うと変数が定義されているか確認できます。

変数 foo が存在している確認する方法は、以下の通りです。

:echo exists('foo')

以下のように表示されます。

1
存在してる
0
存在していない
:echo exists('foo') " 0
:let foo = 1
:echo exists('foo') " 1

関連項目