Humanity

Edit the world by your favorite way

savemap.vimというマッピングを保存/復元するVimスクリプトライブラリを作った

tyru/savemap.vim · GitHub
savemap.vim - savemap is the library to save current mapping(s)/abbreviation(s) : vim online

Vim 7.3.32から関数maparg()には第4引数目が追加されています。
この第4引数が指定されていて真であれば
指定されたマッピングに関する情報を取得できます。

それを使ってマッピングを「完全に」保存/復元するライブラリを作ってみました。
これまでは不可能でした。
ただ少なくとも:help :map-localで既存のマッピング
バッファローカルなマッピングで「覆い隠す」ことができるので
それでほとんどのケースは十分でした。

ただVimスクリプトでトリッキーなことをしたい場合必要になると思います。
正直作りたかったから作っただけで自分ではあまりそういうケースが思いつきませんが。