command lab
  • TOP
  • BLOG
  • japan

  • 【vim】便利な移動系の基本操作コマンド一覧【練習つき】

【vim】便利な移動系の基本操作コマンド一覧【練習つき】

vimをこれから学ぶ人に向けて、最初に覚えるべき移動系の基本コマンドの紹介と解説をしていきます。当サイトはショートカットやコマンドを効率的に直感的に覚えるためのサイトです。vimのコマンドを直感的に練習できる機能も用意しておりますので。是非ご活用くださいませ。

vimのコマンド練習はこちら

下記STARTボタンを押下すると練習モードに入ります。
STARTSTOP
※入力モード切り替え ctrl + shift + alt + space
PRE
NEXT
ガイドモード
ENTERで次へ

カーソル移動

vimの象徴とも言えるべき独特なカーソル移動のコマンドです。vimの操作を覚える時に最初に当たる壁とも言えます。大半の人はなんで矢印キー(→など)を使わずにkとかjで移動しないといけないんだなんて思うかもしれませんが、この操作方法の最大のメリットは指がホームポジションから離れることなくカーソルを移動できることにつきます。ホームポジションを離れずに大半の操作ができることがvimの大きなメリットでもあるのです。もしあなたがブラインドタッチを習得しているのならvimでの操作はストレスのない快適な作業を実現してくれるでしょう

↑に移動k
↓に移動j
→に移動l
←に移動h

表示上のカーソル移動

表示上のカーソル移動と聞いてもピンと来ない人も多いかもしれませんが、これは行の自動改行をオンにしている場合必要となってくるコマンドです。上記kやjなどのコマンドでは行の中の文字数が多い場合の自動改行は無視されるので自動改行部分を上下に移動する場合は下記コマンドが必要となってきます。

表示上の↑に移動gk
表示上の↓に移動gj

行の先頭・末尾にジャンプ

行の中の先頭・末尾に移動するコマンドです。意外とよく使うコマンドなのでvimを扱う上でマストで覚えるべきコマンドです。^と0の違いは、^はインデントを無視した1文字目に移動するコマンドで、0はインデントを含めての0文字目つまり1列目に移動するコマンドです。場合によって使い分けましょう。

行の先頭へ(最初の文字)^
行の先頭へ(1列目)0
行の末尾へ$

単語ごとの移動

単語単位での移動コマンドです。このコマンドを直感的に入力できるようになれば、あなたは立派なvimmerです。英語以外の言語だとなかなか思うように移動できないかもしれませんが、javascriptなどのコード間を移動する場合は非常に強力なコマンドになります。

単語の先頭に進むw
単語の先頭に戻るb
単語の末尾に進むe
単語の末尾に戻るge

ファイルの先頭・末尾に移動

ファイルの中の最初の行と最後の行に移動するコマンドです。行数が長ければ長いほど便利です。どんな仕事をするにしても使う場面が多くあり、覚えておくと非常に便利です。

そのファイルの先頭へgg
そのファイルの末尾へG

指定した行に移動

指定した行に飛べるコマンドです。2通りあり、「:」を入力しコマンドモードからジャンプする方法とコマンドモードに入らずにジャンプする方法があります。個人的には:から始まるコマンドのほうが好みです。ご自身が好きな方を覚えれば十分かと。

〇〇行目に移動:〇〇 Enter
〇〇行目に移動〇〇G

現在カーソルを画面の中央に

このコマンドは移動やスクロールとは少しだけ違い、カーソル位置を画面の中央に持ってくるというコマンドになります。上下のコードを見通したい時などに使います。知っておくと便利なコマンドです。

現在カーソルが画面中央にzz

行の中の特定文字に移動

行の中の特定文字の箇所に瞬時に移動するコマンドです。このコマンドを自由自在に打てるようになるといよいよマウスの出番がなくなります。ホームポジションを離れずに大体の操作ができるようにもなるでしょう。vimの極めるには避けては通れないコマンドです。

その行の順方向に〇を1文字検索f〇
1文字検索を順方向に繰り返し;
1文字検索を逆方向に繰り返し,
その行の逆方向に〇を1文字検索F〇

ファイルの中の文字列検索

通常エディタでいうctrl+fの検索などと同じような動きをするのがこのコマンドです。順方向と逆方向それぞれコマンドがあるので状況によって使い分けるとvimの上級者と言えますね。一度検索をかけた後に同じ文字で次の検索結果に飛びたい場合は「n」や「N」を使います。

順方向に文字列検索/〇〇 enter
逆方向に文字列検索?〇〇 enter
文字列検索を順方向に繰り返しn
文字列検索を逆方向に繰り返しN

ジャンプしてきた箇所に移動

検索や行移動などでジャンプしてきた時、さっきまでいたところに戻りたい時に使えるコマンドです。こういったコマンドが用意されているところがvimが愛される理由とも言えますね。

ジャンプしてきた箇所に戻るctrl + o
ジャンプしてきた箇所に進むctrl + i

スクロール系コマンド

vimは基本的にはマウスを使わないことを前提として作られているので、スクロールも当然コマンドで行っていきます。実はマウスのスクロールホイールからもスクロールできたりしますが、ホームポジションから離れる分、煩わしさもあります。スクロール系のコマンドもマスターしておけばホームポジションから離れることなく効率的にコーディングできるようになるでしょう。

半画面分上に移動ctrl + u
半画面分下に移動ctrl + d
1画面分上に移動ctrl + b
1画面分下に移動ctrl + f

変更した箇所を移動

変更した箇所に戻れるコマンドです。vim は変更した履歴を保存しているので変更履歴にそって移動でき、非常に便利なコマンドです。 

変更した箇所を一つ戻るg;
変更した箇所を一つ進むg,

関連記事