vimscriptの発祥から考えると、vimで扱えるオブジェクトはあくまで数値、文字列レベルの物でしかないと思われがちですが、Dictionaryとfunction()を使えば、それとなく継承ぽい事が出来ます。 まぁ、javascriptに近い言語仕様というのもありますからね。 以下のコードでは、簡単なクラスとオブジェクトを定義しています。 function! Class_Prototype() dict return self endfunction function! Class_Override(...) dict if a:0 == 0|throw "Invalid Parameter"|endif let class = copy(self) let class.__NAME__ = a:1 if type(a:2) == type(class.New) let class.Ne
![Big Sky :: 意外と知られていないvimのtips(vimでオブジェクト継承)](https://cdn-ak-scissors.b.st-hatena.com/image/square/ae5f360d3c82cd87e23b34fb6f5013ab7cf0f1a6/height=288;version=1;width=512/https%3A%2F%2Fmattn.kaoriya.net%2Fimages%2Flogo.png)