※この記事はFringe81 Advent Calendar 7日目の記事です。
こんにちは!
今回は自分がVimコマンドを覚える際にお世話になったリソースを3つまとめてみました。
vimtutor
大体の場合お使いのターミナルで
vimtutor
と打てば始まり、実際に手を動かす演習形式で幅広く重要なことが学べます。
「敷居が高いイメージがあったけど割と試してみるといけるかも、、!」と自身がついたり、「Vimの学習は実際に手を動かして学ぶことが大事なんだな」という意識にさせてくれる教材で、特に一番最初に取り組む教材としておすすめです。
前に一度実施済みの方でも、しばらくして繰り返し周回してみると良いかもしれません。案外大事な事項が忘れられてしまっていたり、身についていなかったりしますので、、。(自分はジャンプ履歴を言ったり来たりできるCtrl-O
、Ctrl-I
等を取りこぼしていました、、)
quickref
書籍や記事で一通りコマンドを見渡したとしても、ほとんどのことは時間経過で忘れてしまっていて、実際にVimを触ってるときに、より少ない手数を実現できるコマンドはとっさに出てこないもので、、
お気に入りのチートシートを見つけ、それを使って自分はどんなコマンドをまだ使いこなせてないかを定期的にチェックすることは大事だと思います。
僕のお気に入りは、:h quickref
と入力すると出てくるチートシートで、内容の網羅性とVimからのアクセスのしやすさが他より優れており良いです。
※英語で書かれていますが、写真のようにvimdoc-jaというプラグインをインストールして翻訳版を利用することもできます。
自分のお気に入りのチートシートでのおさらいの仕方は、チートシートの編集ロックを解除して、馴染みの無いコマンドの動きをその場で試し書きをしていきながら確認していく方法です。
-
:h quickref
と打つと、最初、上半分、編集不可でチートシートが出てくる -
CTRL-W _
でチートシートを最大化 -
:set modifiable
でチートシートを編集可能に - チートシートに記載されているコマンドを周辺のテキストを対象に試してみる(くれぐれも保存をしないようにお気をつけください、、)
VimGolf
マクロやドットコマンド等、存在は知っていても実際に手を動かしてみないと使いどころや活用シーンがなかなかピンとこないコマンドってあります。そういったものはVimGolfの問題をいくつか周回することで掴めたなーという実感があります。
VimGolfは、与えられた課題を可能な限り少ないキーボード打鍵数で解決することを競うゲームで、
少しの環境構築とTwitterアカウントあればお手軽にいつでも遊ぶことができます。
自分のよりも一つ少ない打数でカップインしたユーザの解答をカンニングすることができるのが特徴で、
以下のようなフローで進めていくことで、結構なコマンドを手になじませていくことができおすすめです。
- 一度自分なりに答えを考えて提出してみる
- 自分よりの上位のユーザの解答を見れるので真似して打ってみる
- わからないキー表記があれば
:h keycodes
、わからないコマンドがあれば:h コマンド名
もしくは:h quickref
で都度しらべてみる - 真似した解答を自分の解答として提出する
- こんどはもう一打少ないユーザの解答が見れるのでまた真似して打ってみる
- 1~5を繰り返す
- 最終的に世界記録に辿り着きその解答のシンプルさに感動する
- 一連のフローで新出コマンドを5~6個ほど反復練習している