Vim script
パラダイム | 命令型 |
---|---|
型付け | 動的型付け |
プラットフォーム | クロスプラットフォーム |
ウェブサイト | [1] |
拡張子 | .vim |
Vim script は Vim に組み込まれたスクリプト言語である[2]。Vim の源流である vi の ex コマンドをもとに、 Vim の初期のバージョンでは制御フローや関数定義のためのコマンドが追加された。バージョン 7 からは、 Vim script はリストや連想配列といったより高度なデータ型や(シンプルなかたちの)オブジェクト指向プログラミングもサポートしている。map()
や filter()
といった組み込み関数によって基本的な関数型プログラミングが可能であり、バージョン 8 からは無名関数もサポートしているが、Vim script はもっぱら命令型のスタイルで書かれている。
Vim のマクロ (コンピュータ用語)にはノーマルモードのコマンドを並べて書いていくことができるが、より複雑なタスクのためには ex コマンドを用いたり Vim script で書かれた関数を用いることもできる。Vim の中核的な機能にまつわる拡張機能(「プラグイン」、「プラギン」、「スクリプト」などと呼ばれる)は殆どすべて Vim script で書かれているが、Vim のコンパイル時にサポートをするようにしておけば他の Perl, Python, Lua, Ruby などのインタープリタを用いる言語を使うことも可能である。
Vim script のファイルはプレーンテキストとして保存され、拡張子には .vim
が用いられる。
例
[編集]" This is a simple while loop in Vim script.
let i = 1
while i < 5
echo "count is" i
let i += 1
endwhile
ライブラリ
[編集]http://www.vim.org/ では Vim のプラグインとして幾らかのライブラリが提供されている。また、vital.vim のように Vim のプラグインに埋め込む用のライブラリも存在する。 vital.vim は例えば neocomplcache, neocomplete, unite, vimshell, quickrun, vimfiler のような人気のあるプラグインでも用いられている。
脚注
[編集]- ^ https://www.vim.org
- ^ http://vimdoc.sourceforge.net/htmldoc/usr_41.html