「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
変数の型
| 型 | 説明 | 例 |
|---|---|---|
| 数値 | 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"} |
変数のスコープ
| 前置詞 | 説明 |
|---|---|
| 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