vimプラグインが同等機能を実現するコマンドと関数を提供する理由

lingr にて. id:thinca さんいつもありがとうございます.

syngan
プラグインが、関数と同等のコマンドを持っているとユーザにとって何が嬉しいのですか?
quickrun ってば, Quickrun というコマンドと quickrun#run が提供されていますよね
なぜ両方提供するんでしょう?

thinca
コマンドは文字列しか渡せないので、直接的なデータを渡すのに向いてない
わざわざコマンドラインの引数用に文字列を組み立てる必要がある
関数だとこういうことがない。ただし、普段使うには関数よりコマンドの方が補完などが使えるので便利
scripting → 関数
interarctive → コマンド
まあ vimrc などでマクロ的にコマンドを利用することもあるけど
http://lingr.com/room/vim/archives/2014/02/25#message-18438008