よろしい、あなたはたまにVimを使う必要があるんだけど、いつもわけがわからず、なんとかしてインサートモードに入るので精一杯。で、Vimを終了させられず、やり方をググっている、と…そんなあなたのためにこの記事を差し上げましょう。
最低限覚えてほしい3つのコマンド
i
=> インサートモードに移行esc
=> インサートモードから脱出:wq
=> 保存して終了
そう、たったこれだけ。
…なわけないでしょ!
確かに、上の3つのコマンドは必ず使うものです。しかし、i
とesc
を往復している限り、あなたは永久に進歩しません。
インサートモードは最悪
大事なことなので2回言います、 インサートモードは最悪です。インサートモードではVimは単なるメモ帳になってしまいます。どうせVimを使うなら、Vimらしく使ったほうが精神衛生上よろしいはずです。
ノーマルモード
名前の通り、普通、Vimはノーマルモードになっています。初級者以上は、できるだけこのモードから離れません。文字を入力するときでさえノーマルモードから行おうとするようになれば、中級者といえると思います(筆者はこの段階です)。
Vimの敷居を上げているのがこのモードなのですが、このモードで最低限カーソル移動ぐらいは行う必要があります。
最低限覚えてほしい カーソル移動のための3つのコマンド
バッファ(Vim用語では「ファイル」の意)を動き回る上で、以下のコマンドはとても便利なのでぜひ覚えましょう。
gg
=> 最初の行に移動G
=> 最後の行に移動w
=> 次の単語に移動b
=> 前の単語に移動W
=> 空白を挟んで次の単語に移動B
=> 空白を挟んで前の単語に移動f[char]
=> 次の[char]に移動
最低限覚えてほしい インサートモードに入るための3つのコマンド
i
だけでインサートモードに入ろうとするのが入門者です。初級者以上は、以下の3つのコマンドを使いこなします。
A
=> 行末に移動してインサートモードS
=> カーソルがある行を削除してインサートモードo
=> 1行下に移動してインサートモード
書くべきことを書き終えたら、さっさとesc
しましょう。
最低限覚えてほしい 効率的な編集のための3つのコマンド
以上の知識があれば、バッファ内を移動してテキストを挿入することはかなり効率的に行えます。が、それだけではよくあるケースに対応できません。例えば、文字列のリテラルを編集する場合、シングルクォートの中にあるテキストを削除し、別のテキストに置換しなくてはなりません。普通はちょっと面倒なこんな仕事も、Vimならあっという間です。
ciw
=> カーソル上の単語を削除してインサートモードci'
=> シングルクォート内のテキストを削除してインサートモードC
=> カーソルより右にあるテキストを削除してインサートモード
次回予告
実はまだ一回もEXコマンド(:
を入力するとカーソルがウィンドウ下に吹っ飛ぶあれ)を使っていないので、それの紹介をできたらします。あとサーチした上でn
でジャンプとか、ヤンクとか、ビジュアルモードで一括変換とか、まだまだネタはたくさんあるよ!