VSCode VimのEasyMotionでジャンプ元の場所に戻るには

VSCode VimのEasyMotionでジャンプ元の場所に戻るには

VSCode VimのEasyMotionで移動した後に元の場所に戻ろうと思ってを押しても戻れません。

戻るためには二種類の方法があります。

VSCode標準の戻る・進むコマンドに置き換える

VSCodeのAlt+Left ArrowAlt+Right Arrowに標準で割り当てられている戻る・進むショートカットを割り当てます。
これらのショートカットはEasyMotionの移動も一つのジャンプポイントとして認識します。
VSCodeのジャンプポイントの方がVimより多い印象ですが、問題ないようであれば割り当てて置き換えます。

 "vim.normalModeKeyBindingsNonRecursive": [
  { "before": ["C-o"], "commands": ["workbench.action.navigateBack"] },
  { "before": ["C-i"], "commands": ["workbench.action.navigateForward"] }
]

ジャンプ前に自動でマークする

teratailで紹介されている方法です。
EasyMotionのコマンド実行前にzにマークするようにコマンドを再定義します。
戻る場合はleader + mでzのマークへ戻れるようにします。

"vim.normalModeKeyBindingsNonRecursive": [
  {"before": ["s"],                       "after": ["m", "z", "leader", "leader", "2", "s"]},
  {"before": ["leader", "s"],             "after": ["m", "z", "leader", "leader", "s"]},
  {"before": ["leader", "leader", "s"],   "after": ["m", "z", "leader", "leader", "s"]},
  {"before": ["leader", "m"],             "after": ["`", "z"]},
],

プログラミングカテゴリの最新記事