← Vim道場
さっきいた場所に戻る
G や検索でファイルの別の場所を見に行ったあと、元いた行に戻るのに苦労した経験はないでしょうか。Vimはジャンプした場所を覚えていて、Ctrl-o で順に引き返せます。
第5章 整えて探すレッスン 26 / 33
何が「ジャンプ」に数えられるか
記録されるのは G gg / ? n N % H M L ' ` のように「遠くへ飛ぶ」コマンドだけです。j や w のような1歩ずつの移動は記録されないので、履歴が細切れになりません。
本物のVimでは :jumps で履歴の一覧を確認できます。ファイルをまたいでも記録されるので、別のファイルへ定義を見に行ってから Ctrl-o で元のファイルの元の行に戻る、という使い方ができます。
似ているが別物の記録
Ctrl-o が「移動の履歴」なのに対し、g; は「変更した場所の履歴」をさかのぼります。また ``(バッククォート2つ)は、直前にジャンプした位置との間を行き来します。見に行って戻るだけなら `` のほうが速いこともあります。
このレッスンで扱うキー
| キー | 動き |
|---|---|
| Ctrl-o | さっきいた場所へ戻る |
| Ctrl-i | 戻る前の場所へ進む |