いろいろ備忘録日記

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

vimで直前のジャンプ位置に移動する `` は何気に便利 (jump-motions)

f:id:gsf_zero1:20211217140202g:plain

概要

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

vim には jump-motions というコマンドがあります。

有名なやつが C-o ですね。これはそれまでにジャンプしてきた履歴を持っているジャンプリストというのをどんどん遡っていってくれます。

似たものに、 `` というものがあります。これは直前のジャンプ位置に戻ってくれるコマンドです。

この子がプログラミングしているときに結構便利で、例えば

f:id:gsf_zero1:20220227204600p:plain

というものを {"hello", "world"} にしたい場合は以下のようにやると大きなブロックであっても、サクッと変換できたりします。

  1. まず [ の部分に移動
  2. % で対応する逆の方にジャンプ
  3. r} で値を置換
  4. `` で直前のジャンプ位置に戻る
  5. r{ で値を置換

こうなります。

f:id:gsf_zero1:20220227204858p:plain

手順は多そうにみえますが、手が慣れてしまうと一瞬で移動と置換が済みます。

知ってると結構便利です。

参考情報

vim-jp.org


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

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