Help us understand the problem. What is going on with this article?

【入門】Vimで高速で移動~プラグインなしでの移動まとめ~

More than 3 years have passed since last update.

最近聞かれたので、
自分がよく使うVimの移動コマンドをまとめてみました。

プラグインいらずの素のVimですが、
プラグインなしで十分高速に移動できます。

特に一行一文字検索のfコマンドとか、
変更してきた箇所をもどれるg;コマンドとかが使えてくると本当に便利です。
あっ、この記事は主にファイル内の移動に限っています。

基本移動

初心者はまず、矢印キーを脱却して、h, j, k, lへ。
10jのように数字を先に打つと、一気に数字分移動できる

コマンド 移動内容
h 左へひとつ
j 下へひとつ
k 上へひとつ
l 右へひとつ
ステップアップ

表示上の行移動

コマンド 移動内容
gj 下へひとつ
gk 上へひとつ
115 abcdefg
    hijklmn
116 abcd

115行目のbにカーソルがある場合、

通常のj移動だと、b➡b
表示行のgj移動だと、b➡i

行移動

コマンド 移動内容
0 行の先頭へ(インデント無視して先頭へ)
^ 行の先頭へ
$ 行の末尾へ
+ 下の行の先頭へ
- 上の行の先頭へ
ステップアップ

前述同様gをつけると表示上の移動へ(直感的)

ページ移動

ガッと移動したい場合

コマンド 移動内容
ctrl + u 半画面分 上へ
ctrl + d 半画面分 下へ
ctrl + b 一画面分 上へ
ctrl + f 一画面分 下へ
{ 段落毎に上へ
} 段落毎に下へ
gg そのファイルの先頭へ
G そのファイルの末尾へ

他には:100で行指定で移動できる。
この場合だと、100行目に移動。

単語移動

コマンド 移動内容
w 単語の先頭に進む
b 単語の先頭に戻る
e 単語の末尾に進む
ge 単語の末尾に戻る

単語分を進むか戻るか、さらに大文字もある。

ステップアップ
コマンド 移動内容
W 単語の先頭に進む
B 単語の先頭に戻る
E 単語の末尾に進む
gE 単語の末尾に戻る

違いは次のような単語を一語とみるかどうか

abc.def.ghi

小文字なら5単語 abc . def . ghi
大文字なら1単語 abc.def.ghi

a➡iに行きたい場合、
e移動なら5回 a➡c➡.➡f➡.➡i
E移動なら1回 a➡i

一行一文字検索

これホント便利。多用してます。

コマンド 移動内容
f その行の順方向に一文字検索
F その行の逆方向に一文字検索
t その行の順方向に一文字検索(カーソルは文字の手前)
T その行の逆方向に一文字検索(カーソルは文字の手前)

abcdefg hijklmn

aにカーソルがある場合、
fiで一気にiに移動。

ステップアップ

これとfキーの組み合わせが、本当に便利。

コマンド 移動内容
; 順方向に繰り返し検索
, 逆方向に繰り返し検索

abcdefg abcdefg abcdefg

aから三つ目のeに行く場合、
fe ; ;
そこから二つ目のeに戻る場合
,

検索移動

一般的なページ内文字列検索

コマンド 移動内容
/ 順方向に文字列検索
? 逆方向に文字列検索
n 順方向に繰り返し検索
N 逆方向に繰り返し検索

abcde abced abcedf

この場合、/edfで末尾のedfに移動。
複数行にわたって検索可能。

括弧移動

これはdの削除とかyのコピーと合わせて使うと便利。

コマンド 移動内容
% 対となる括弧へ移動

(abc)

カーソルが(から%コマンドで)へ移動

TIPS

ジャンプリストを辿る

ファイル内も移動できるけど、ファイル間の移動に便利。
直前に編集していたファイルに戻りたいとか。
今回の記事にはそぐわないかな。。

コマンド 移動内容
ctrl + o ジャンプしてきた箇所に戻る
ctrl + i ジャンプしてきた箇所に進む

変更リストを辿る

自分がしたファイルの変更履歴をたどれる。便利。

コマンド 移動内容
g; 変更してきた箇所に戻る
g, 変更してきた箇所に進む

マーク移動

あんまり使っていないから、要望があるまでカット。

最後に

この移動と組み合わせて削除とかコピーとかいろいろできることが、
vimの移動の便利なところですね。

外部アカウント

技術情報のみつぶやくアカウント作成しました。VimやNeoVimの最新情報も発信していきます。
Twitterはこちら
Feedlyのフォローはこちら

takeharu
【名前】三上丈晴 【経歴】北海道大学理学院数学専攻を経て、2012年新卒入社。現在ピグパーティ プロダクトマネージャ 【著書】Git逆引き入門
https://twitter.com/takeharumikami
cyberagent
サイバーエージェントは「21世紀を代表する会社を創る」をビジョンに掲げ、インターネットテレビ局「AbemaTV」の運営や国内トップシェアを誇るインターネット広告事業を展開しています。インターネット産業の変化に合わせ新規事業を生み出しながら事業拡大を続けています。
http://www.cyberagent.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした