vim is GOD
僕の学校の人間の9割以上がGUIのemacsを使っています。というのも、最初にそれでプログラムを教わるのでそのまま使っているひとが多いのです。
せっかくターミナルが使えるのだから、せめてCUIのemacsを使えばいいのに...
ほとんどの人間がemacs使いなのでvimmerは肩身が狭い思いをしています。
「vim?開いてもいきなり入力できないんでしょ?」「IDEがあるから...」「nanoだろやっぱ(第三勢力)」「は?メモ帳だろ?」そんな声が聞こえてきます。
ぶっちゃけ否定できません。エディタなんて一つ覚えておけば十分だし、わざわざ慣れない他のエディタを体験してよさを探したりなんて現実的ではありません(特にvimとemacsは)。僕もemacsのよさもあるのかなと触ってみようとしたことがありますが、3分持ちませんでした。
結局、人間は争うことを止めることはできないのかも知れません。悲しいですね。
自衛
しかし、学校の規則でもコーディングルールでもないのに少数派だというだけでvimmerが弾圧されている事態は看過できません。
せめて自分の環境だけでも、vimmerのプライドを保ち宗教弾圧と戦いたいものです。
zshrcに以下の設定を追加しましょう。
# vim ~/.zshrc
alias emacs='(){echo "
■■ ■■
■■■■ ■■■■ ■■■■■■■ ■■■■■■ ■■■■■■■■■
■■■■ ■■■■ ■■■■■■■■■■ ■■■■■■■■■■ ■■■■■■■■■■■
■■■■■■ ■■■■■■ ■■■■■ ■■■■■■ ■■■ ■■■■■■
■■■■ ■■ ■■■■ ■■■■ ■■■ ■■■
■■■■ ■■■ ■■■■ ■■■ ■■■
■■■ ■■■ ■■■ ■■■ ■■■■
■■■ ■■■ ■■ ■■ ■■■■ ■■■■ ■■ ■■■■■■ ■■■ ■■■ ■■■ ■■■ ■■■
■■■ ■■ ■■ ■■ ■■■■■■■ ■■■■■■■ ■■ ■■■■■■■■■ ■■■ ■■■ ■■■ ■■■ ■■■
■■■ ■■■ ■■ ■■■■■■ ■■■■ ■■■■■■■■■ ■■ ■■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■
■■ ■■■ ■■ ■■■■ ■■■■■ ■■■ ■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■
■■■ ■■ ■■ ■■■ ■■■ ■■■ ■■ ■■ ■■■ ■■■ ■■■ ■■■ ■■
■■■ ■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■ ■■■ ■■■■■■■ ■■■ ■■■ ■■■ ■■
■■ ■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■■■ ■■■ ■■■■■■■ ■■■ ■■■ ■■■ ■■■
■■■ ■■ ■■ ■■ ■■■ ■■■ ■■ ■■■■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■
■■■ ■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■
■■ ■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■
■■■ ■■ ■■ ■■ ■■■ ■■■ ■■ ■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■
■■■ ■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■ ■■■■ ■■■ ■■■■ ■■■■ ■■■ ■■■
■■ ■■■ ■■ ■■ ■■■ ■■■ ■■ ■ ■■ ■■■■ ■■■ ■■■■ ■■■■ ■■■ ■■■■
■■■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■■ ■■■ ■■■■■■ ■■■■■■ ■■■■■ ■■■■■■ ■■■ ■■■■■
■■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■■■■■■■ ■■■■■■■■■■■ ■■■■■■■■■■ ■■■■■■■■■■■
■■■ ■■ ■■ ■■■ ■■■ ■■ ■■■■■■ ■■■■■■■ ■■■■■■ ■■■■■■■■■
" && sleep 1 && if [[ "$@" =~ - ]]; then vim $2; else vim $@; fi}'
vim is GOD.(本音)
# emacs -nw .zshrc
みたいなオプションとか引数があったら、エラーが起こる(vimに無いオプションだから)から結構困りました。
: (なにもしないコマンド)を使ってみたりしたんですが、今度はファイルに対応できなくなったり...
結局、引数に" -"(半角スペース+-)が含まれていたらオプションだと見なして、二番目の引数だけをとることにしました。(ガバガバ)
シェルスクリプトに軽く起こすとこんな感じ。
#vim is GOD と表示(AA略echo"vim is GOD"&&#よく見えるように1秒待機sleep 1 &&#もし、引数にオプションが含まれていたら、if[["$@"=~ - ]];then#2番目の引数だけ実行
vim $2;else#そうでないなら全体を実行
vim $@;fi
aliasだから軽く一行で書きましたが、もっと厳密に書くこともできます。
動かすとこんな感じ。
綺麗に起動しましたね。(vimが)
最後に
意外とzshrcとかaliasとかって柔軟に動くんですね。感動しました。
ジョークスクリプトのつもりでさっさと書いて出そうと思っていたので、思いがけず勉強になりました。
まさか無いとは思いますが、他の記事とネタかぶりしてたらperlワンライナーと組み合わせた複雑なやつも書いてみようかなと思います。
よいこの皆さんはemacs派の友達のzshrcにこれをこっそり書いてはいけませんよ。