2011-12-26

Vim Advent Calender 26日目: monday.vimカスタマイズしてみた

このエントリーをはてなブックマークに追加
おおかたのAdvent Calender 2011も終了していますが、
Vim Advent Calender 2011はまだまだ続きますね。

26日目、@_nishigoriです :)


ところで、皆さんはなぜVimにPlugin (以降:) を注いでいるのでしょうか?


「それ俺のVim (以降:彼女) ならできるよ」って自慢したいからですね。
もしくは愛を自分と自分の彼女だけで育みたいからでしょうか。


(ここまでで、愛だ彼女だなんて気持ち悪いなんて思った方、
どうぞ1日目から読み返してください。きっと分かってもらえます。
もしくはunite-advent_calenderを入れてる人はソース置換でもしてください。)

:%s/彼女/Vim/g
:%s/愛\|恋愛/Plugin/g



でもちょっと待ってください。
ホントにそれでいいんでしょうか?


あなたが彼女と育んできた愛は、
きっと他の彼女と付き合っている人たちにも共通するものがあるはずです。
それをあなたとあなたの彼女だけで秘密にするのは勿体ないです。

是非周りの彼氏彼女にも伝えて互いの恋愛レベルを上げましょう!

ただ、あなたが育んできた愛を伝えること自体はとても素晴らしいですが、
愛の注ぎ方にもお作法があります。


・彼女の年齢にあった恋愛であるか (v:versionの確認)
・古き悪しき習慣を引きずらないよう心がけているか (:help :set-&vim)
・愛の適用範囲 (Licenseの明記)
・シーンに合わせた愛であるか (autoload dir, ftplugin dir 等の活用)

必要最低限でも配慮する必要はありますね。

そしてこれらはあなたが他の人の恋愛テクニックを真似る際の
参考にもなります。

幸い自信がなくても、恋愛マスターの方たちが
Google GroupsやLingr部屋にはたくさんいます。
是非相談してみましょう。
彼らもまた愛に飢えています。


そして、

・他の人の愛を受け (pull request)
・他の恋愛テクニックと組み合わせ (unite化)


あなたとあなたの彼女だけの愛をつくっていきましょう


クリスマスをVimとイチャイチャしてきた皆さんなら
きっと成し遂げられます。


…と中途半端に愛を語っておいて題目から大分ズレましたが、
即興Pluginでmonday.vimのカスタマイズ版
sunday.vimをつくってみました。
(残念ながらお作法はあまりよろしくありませんが…。

https://github.com/nishigori/vim-sunday


monday.vim名無しのVim使いさんでも紹介されているPluginで、
曜日、月をインクリメント・デクリメントすることのできるPluginです。

機能自体はとても便利なのですが、
インクリ・デクリするリストの編集・拡張はPluginを直接編集しなくてはいけなかった為、
とりあえず外出ししました。
以下の変数をvimrcに記述すると設定された対象text-object上で
<C-a>でインクリメント、<C-x>でデクリメントします。

ex.)
  let g:sunday_pairs = [
  \ ['hoge', 'hoge2', 'hoge3' ],            " hoge <-> hoge2 <-> hoge3
  \ ['private', 'protected', 'public' ],    " private <-> protected <-> public
  \ ]

今後の予定としてはファイルタイプ別での定義を可能にすることと、
リファクタリングも兼ねて<C-a>、<C-x>でなく任意のマッピングにできるようにしようかと思います。


それでは皆さま、少し早いですが来年も良きVim Lifeを :p

0 件のコメント:

コメントを投稿