basyura's blog

あしたになったらほんきだす。

41.2 変数

変数

  • 変数名にはアルファベット、数字、アンダースコアを使用可能
  • :let で定義されている変数の一覧を見れる
  • unlet で変数を削除できる
  • 変数が定義されているかは exists('変数名') で調べる

変数の種類

b:name バッファローカル変数
w:name ウィンドウローカル変数
g:name グローバル変数 (関数内では g: 必須)
v:name Vim が定義する変数

バッファローカルとウインドウローカルの違いが分かりにくい。バッファローカルは編集中のバッファごと、ウインドウローカルは表示領域(ウインドウ)ごと。
Aウインドウで a ファイルと b ファイルを :bnext 、 b:prev で切り替えながら編集している場合、バッファローカルな変数は共有されないけど、ウインドウローカルな変数は共有される。使いどころが分からない。

ダブルクォート中で特殊文字を使える

\t    <Tab>
\n    <NL>, 改行
\r    <CR>, <Enter>
\e    <Esc>
\b    <BS>, バックスペース
\"    "
\\    \, バックスラッシュ
\<Esc>    <Esc>
\<C-W>    CTRL-W

\e \b が使えるのかぁ。