いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

vimで直前の挿入位置に移動する `^ と gi は何気に便利

f:id:gsf_zero1:20211217140202g:plain

概要

よく忘れるのでここにメモメモ。。。知っているとちょっと楽できます。

プログラミングしてて、コードを書いてるときに、ふと手をとめて、別の処理を見に行ったりすることはよくあります。

何かの定義を探しにいったり、参考となる処理を確認しにいったり・・とか。

んで、確認し終わったら元の場所に戻って、コード書くのを再開という流れ。

あちこちに移動した後とかだと、元の場所がどこか分からなくこともたまにあります。(年齢によるものかもしれませんが・・)

そういうとき用にマーク設定してから移動とかも出来るのですが、少し便利なTipsもあります。

vimには、直前の挿入位置にジャンプしてくれるコマンドがあります。以下です。

  • `^
  • gi

`^ は、直前の挿入位置にジャンプしてくれますがノーマルモードのままを保ってくれます。

giは、直前の挿入位置にジャンプしてくれて且つ挿入モードに入ってくれます。

どちらを使うのかは、その時々に依りますが、知っていると少し便利です。

実際、こんな風に使えたりします。例えば、以下のような状態だとして

f:id:gsf_zero1:20220227212337p:plain

コードには何の意味もありません。今17行目の部分でaddって関数を呼び出す部分を書こうとしてて

この画像では関数本体が見えてしまっていますが、仮に今のエディタエリアでは見えないくらい上の方に関数定義があるとします。

んで、その関数の内容をちょっと確認したいので、一旦ノーマルモードに戻って関数定義を見に行ったとします。

f:id:gsf_zero1:20220227212551p:plain

オッケイ。書く内容理解した!!ってなったので、元の場所に戻って実装を続けたい。

そんなときに、おもむろに gi って押すと

f:id:gsf_zero1:20220227212655p:plain

一瞬でさっきまでの挿入位置に戻ってくれます。

参考情報


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。