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 を使うようにするとよさそうですね。