Vim 8.2 で Vim script に :const が追加された
Vim 8.2 で Vim script に :const
が追加されました。
これは変数を定義する :let
と同じように使用し、定義した変数を不変にします。
例えば
const x = 42
は
let x = 42 lockvar 1 x
と同等になります( lockvar
の 1
は depth
の指定
これにより const
を使うことで不変となる変数を簡単に定義することができます。
" 以下と同等 " let x = 10 " lockvar 1 x const x = 10 " Error: 再代入不可 " let x = 42
また、 :unlet
や :unlockvar
を使うことで変数に再代入や再定義することができます。
const x = 10 " unlet や unlockvar すると再代入可能 unlet x const x = 42
ちなみに暗黙的に :lockvar
の depth
に 1
が設定されているので辞書の場合は要素に対して再代入可能です。
const data = { "x" : 10 } " NG: 再代入不可 " const data = {} " OK: 再代入可能 let data.x = 42
詳しくは :help lockvar
を参照してください。
今まで :lockvar
するのが手間だったので使ってなかったんですが、これからは :const
を使うようにするとよさそうですね。