VimはじめにサクラエディタからVimに移行して、そろそろ半年ぐらいになります。最近では覚えたVimコマンドもだいぶん増えてきて、Vimの便利さを改めて実感している今日この頃です。サクラエディタに戻ることはたぶんもうないですね〜。ところで、チーム内には他にもVimを使ってるメンバーがいるのですが、その人達と比べて自分のVimスキルはどれくらいなのかな〜と、ふと思いました。Vimコマンドはかなり詰め込んで覚えたから、もしかして僕の方が上??なんて思ったりもしましたwで、思いついたのがVimコマンド古今東西ゲームです。これを思いついたのは結構前なのですが、先日チーム内ミーティングの時間が30分ぐらい余ったので、即興でこのゲームをやってみました。今回のエントリではこのゲームをやってみたときの様子を紹介します。今回参加したのは10名程度Vimをほとんど知らないというメンバーはギャラリーに回ってもらう手順とルール適当に順番を決める。(座席順等)書記を決める。(専任者を決めても良いし、みんなで交代しても良い)一人ずつ順番にVimを操作し、自分が知っているコマンドをその場で実演する。書記はそのコマンドと簡単な説明をホワイトボードにメモする。知っているコマンドがなくなった人はリタイアする。最後まで残った人、つまりコマンドを一番良く知っている人が優勝!ホワイトボードに書いたコマンドはプリントアウトし、スペシャルチートシートとして参加者全員にプレゼントする。実際にやってみて、良かった点、面白かった点を挙げてみます。上級者がマニアックなテクニックを披露すると「お〜!知らんかった!!」と場が盛り上がった。「あ〜!それは俺が言おうと思ったのに!!」みたいな声が聞こえるのも楽しい。上級者は優越感にひたれる(かも?)。中級者はさらに努力が必要だと思うようになる。改善が必要な点もありました。30分ぐらいでは終わらず、まだまだ続きそうだった。結局時間切れとなり、優勝者は決まらなかった。リタイアする人も出なかった。xやiといった超基本コマンドは予め除外しておいた方が時間の節約になると思った。h/j/k/lやH/M/Lなど、「それが出るなら、これも出しとかなあかんやろ?」というようなコマンド群は1コマンドとして扱う方が良い。改善点があったとはいえ、技術ネタをゲームにするのはなかなか面白かったです。みんな結構盛り上がってました。ちなみに僕のポジションは中級者ぐらいでした。Vimを長年使っているメンバーは「うお〜、何それ?」と思うような応用コマンドを披露していました。ちなみにホワイトボードをプリントアウトするとこんなイメージになります。(抜粋)みんないっぱい挙げたのでホワイトボード2枚分ぐらいになりました。2を考えるならもしもう一回開催するなら、こういうルールに変更した方がいいと思いました。Vimコマンドを披露したら、参加者に評価してもらう。「へぇ〜!」と思わせたら一人につき1ポイント。「ふ〜ん」なら0ポイント。最後まで残った人が優勝ではなく、制限時間を決めてポイントを一番稼いだ人を優勝とする。「へぇ〜」と思わせることが重要なので、みんなが知っている基本コマンドよりも「知らなかった!でもめっちゃ便利やん!!」と思わせるようなコマンドをたくさん知っている人が有利になる。30分だと短いので、制限時間は1時間ぐらいあった方が良い。超基本コマンドを予めリストアップしておき、それらは最初から評価対象外としておく。上級者が多い場合は「一度に3コマンドずつ披露する」みたいな「縛り」を設けるとよいかも。優勝者には何か景品を用意しておく。Vimコマンドだけではなく、シェルコマンドなどでも同じように古今東西ができるかも。ゲームを面白くするためのアドバイスこのゲームは「自分が普段使っているコマンドを披露し合うこと」が目的なので、普段使ってもいないコマンドを事前に予習されてしまうと、面白みが半減します。「やるよ!」と言ってから開催までの期間はできるだけ短い方が望ましいです。できれば抜き打ちで開催しましょう。遊びなのでルールを厳密に決めようとしなくても良いです。みんなが同意すればその場のノリでどんどん変えていっても良いと思います。実際、僕たちも最後の方は「みんながへぇ〜!って思うようなコマンド以外は不可!!」みたいな縛りを付けたりして楽しんでいました。おわりに技術スキルを向上する、というと一生懸命勉強しなければならないイメージがありますが、このようにゲーム的な要素をうまく取り込めれば、みんなで楽しくスキルアップできます。みなさんも何か技術ネタで盛り上がれるゲームを考えてみてはいかがでしょうか?もちろん、今回紹介したVimコマンド古今東西ゲームをやってみるのも全然アリです。やってみた人はぜひ感想を聞かせてください!あわせて読みたいタイトル通り、僕がVimに乗り換えた時の勉強法を紹介したエントリです。try古今東西ゲームからヒントを得た(?)Twitterボットを作りました。tryFizzBuzz問題でプログラミングコンテストを開催してみたら・・・こうなりました。try第1回の反省点を活かして、もう一回プログラミングコンテストを開催してみました。tryコードレビューコンテストを開催したこともあります。はてなブログPro株式会社ソニックガーデンで働くRubyプログラマ。2017年11月に「プロを目指す人のためのRuby入門」を出版。blog)はてなブログをはじめよう!JunichiItoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。