新年あけましておめでとうございます!宮水です。
2019年になり、皆さん新しいことにチャレンジしようと思っている方もいらっしゃるのではないでしょうか?
そんなあなたに!!!!
今年こそVimに挑戦してみませんか...!?
Vim歴半年の私がVimがそこそこ使えるようになった道のりについて皆さんにさらに最短で習得していただけるよう記事にまとめました。随時更新予定です!!
目次
まずはVimのインストールから
私が一番最初に驚いたのは、Vimってhomebrewでインストールしたりするんです...
iTermっていうのと一緒に使うと便利なので、Macユーザーは以下の記事を参考にインストールしましょう。
iTerm導入
ついでに背景を半透明なんかにしちゃうと超かっこいいです。
Vim
1年前の記事だけど2週間前に買った新しいMacはこのコマンドでいけました。
https://qiita.com/owlbeck/items/2df2ab50eedd32011ffd
.vimrcの設定
.vimrcって何?
.vimrcファイルとは、Vimのカスタマイズをしてくれるものです。
.vimrcファイルを作成せずに、「vim」とコマンドを打って何か入力してみてください。「vi」コマンドなどで操作に慣れていない方は、操作が難しいかと思います。そこで、vimrcを使って自分好みの操作にカスタマイズできるのが、.vimrcファイルです。
(vimの画面は「:q」で抜けられます)
私はこちらのGithubの.vimrcをベースにしました。
以前メンターをしていただいた方のものです。
dotfiles/.vimrc at master · NaokiMochizuki/dotfiles · GitHub
.vimrcファイルは、homeディレクトリに作ります。(cd と打った後にエンターキーを押すとhomeディレクトリに行きますので、そこに作ってください。)
なぜこちらのメンターの.vimrcを使い始めたかというと、
・最初のうちはマウス使えると便利
vimは設定をしないとマウスが使えなくなってしまいます。
この.vimrcではマウスが使えるようになっています。
・タブ補完機能(勝手にインデントつけるの修正してくれる)
入力後エンターキーを押したらデフォルトだとインデントがずれるので、それの補完ができます。
・検索機能のプラグイン
後ほど詳しく記載しますが、:Rgrepとコマンドを打つとファイル全検索ができるようになっています。
その他、
・文字列の補完機能
・全角スペースのプラグイン
・コピペのプラグイン
・シンタックス(色がつくよ)
・ディレクトリツリー
などの機能が入っており、初心者に使いやすい.vimrcとなっています。
最初に覚えるべきVimのモード
さぁ!これで、Vimを使う準備が整いました。
任意のディレクトリで、「vim」とコマンドを打ってみましょう。
(最初のうちは変な保存をしてしまったり、変更が戻せなくてパニクるので中身が書き換わってもいいファイルで作業することをオススメします。やばそうなファイルを開いたら落ち着いてEscを押したあとに、:qをうちましょう。)
Vimの左下の部分に注目です。
- コマンドモード
何も書いてないとコマンドモードです。
vimのコマンドが打てます。
- インサートモード
小文字のiを押すとインサートモードになります。
コードを書くときに使います。
コマンドモードに戻るときは、EscキーかCtr + cを押してください。
- ヴィジュアルモード
小文字のvを押すとヴィジュアルモードになります。
コピーなどをしたい場合に、範囲選択ができます。
コマンドモードに戻るときは、EscキーかCtr + cを押してください。
最初に覚えるべきコマンド15選
私も覚えるのは苦手なので、最初はこれらを多用して、できない部分はマウスで補っていました(笑)
vimチュートリアルとかもあったんですけど、3d(3文字削除する)とかが序盤に含まれていたのでなかなか覚えられなくて、もっとざっくりしたコマンドから使いたい!と思って独自の手順で覚えていました。
以下のコマンドに慣れるまでは、マウスを使いながら徐々に慣れていくの、すごくおすすめです!
- カーソル移動コマンド
(これはぶっちゃけ、最初は普通のカーソルキーでもいいかも)
k上
h左 l右 (小文字のL)
j下
- 削除コマンド
dd 一行消す
x 1文字消す
- インサートモードに入るときのコマンド
i カーソルが当たっている部分からインサートモードへ
- コピーするとき
先ほどのvimrcでマウスが使えるようになっているので、
最初はインサートモード + 範囲選択 + Ctr + cで良いと思います!
貼り付けも、インサートモードであればCtr + vでいけます。
- 一個戻る、一個戻す
u 作業の一個前に戻ります
Ctrl + r uで戻した変更を戻します
- 保存と破棄
:w 編集中のファイルを上書き保存
:q ファイルが保存済みのときvimを終了
:wq ファイルを保存してから終了
いずれも、:w! :q! :wq!と書くことができ、こうすると強制終了になります。
- 検索コマンド
フォルダ内検索は、コマンドモードのときに、:Rgrepと打ってください。(Rは大文字)
コマンドが以下のようになります。setという文字を検索することになります。
エンターキーを押すと、ディレクトリ選択になります。
次にマッチングパターンを選択できます。大抵*(アスタリスク)でおっけーです。
検索結果が多いとちょっと時間かかりますが、このように検索結果が出てきます。
また、ファイル内検索は/(スラッシュです!)
検索結果はハイライトされます。(検索のハイライトを消したいときは:noh)
以上!最初に覚えるべきコマンド15選でした!
まずはこれだけ覚えれば大抵の作業はできるのでおっけー!
Vimの使い方 ちょこっとだけ中級編
まずは、先ほど紹介した.vimrc「マウスに関する設定」の部分を探してコメントアウトしましょう。(コメントアウトのvim操作は次に書いてあります。)
何も変更していなければ185行目からです。
- コメントアウトの仕方
コメントアウトは、「gcc」です。これで1行コメントアウトできます。
複数行まとめてかっこよくコメントアウトしたい場合は、
shift + v + カーソルキー(h左 j下 k上 l右 のどれか) + gccです。
- ファイル移動
マウスが使えなくなった皆さんは、ファイル移動がすごくめんどくさくなったことにお気づきだと思います。
そこで、ファイル移動に使えるコマンドをご紹介します。
小文字で「gg」 ファイルの一番上に移動
大文字「shift + g」 ファイルの一番下に移動
45(行番号) + sift + g 45行目へ移動
Ctrl + d ある程度下に移動する
Ctrl + u ある程度上に移動する
だいたいこのくらい覚えておけば、ファイル内は自由に行き来できます!
- 文字列移動
w word単位でカーソルが動きます。(どんどん次に行く)
b word単位でカーソルが動きます。 (どんどん後ろに行く)
- インサートモードに入るときのコマンド
i カーソルが当たっている部分からインサートモードへ
sift + a カーソルが末尾に行ってインサートモードへ ←new
o 一行下からインサートモードへ ←new
- コピーするとき
sift + v + y
大文字のVを押した後にh j k lなどのカーソルキーを組み合わせることも可能です!
私は覚えるのめんどくさくて、Vとyとカーソルキーしか使ってないです!
ああ!なぐらないで!!
※Vimのコピーはちょっと特殊で、ヤンクというふうに呼ばれています。Ctr + cと挙動が違って、ddやxで削除した場合もその文字がコピーされてしまうので慣れるまで最初はかなりイライラします。
コピー&ペーストについての詳しい記事はこちら!
デフォルト設定でできる vim のコピペ色々 - Qiita
- 2文字検索
今カーソルが一番上にいる...
でも、coffeeのffのところにカーソルを合わせたい...
と思ったとき、たったの4キーで移動できちゃう2文字検索が便利です。
コマンドモードのときに、sを押します。行きたい文字thを押します。
するとこのような画面に!
thっていう2文字はこの画面上に2箇所あって、sを押すと上の「th」に、
aを押すと下の「th」に移動できます。
ここでaを押すと、最初行きたいと言っていた文字に飛べます。(これはvimrcの設定です。)
終わりに
以上が、「俺、ちょっとVim使ってるよ」とドヤ顔できる使い方説明でした!!
私はVim歴半年のぺーぺーなので、まだまだ全然使いこなせていないですが、自分で.vimrcをカスタマイズできるようになったり、より多くのコマンドやプラグインを入れられるようになるとさらに便利で楽しいVimライフがあなたを待っています!!
実際Vimを使い始め、マウスを使わなくなった頃から、頭でわかっているコーディングなら爆速でできるようになりました。
Vim万歳!!
今年も皆さん(Vimデビューして)良い年になりますように!!