Neovimの数字jkをジャンプリストに入れる
Neovimで14j
のように数字+jまたはkで移動した後、CTRL-O
で戻りたい。そんな願いを実現しました。
結論からいうと、m'14j
のようにm'
を付けてマッピングすればできます。Vimも同様です。
本記事では周辺知識と合わせて設定方法を解説します。
CTRL-O、ジャンプリストとは?
そもそもCTRL-O
やCTRL-I
はジャンプリストを使ってカーソル位置を変更するコマンドです。
ここでいうジャンプとは、G、n、%のように数行離れてそうな移動をするコマンドのことです。ジャンプリストに記録されるコマンドは:h jump-motions
から確認してください。
ジャンプリストとは、ジャンプしたときに移動前のカーソル位置を記録したものです。:h jumps
でリストを表示可能です。
本記事では、このジャンプリストに記録することでCTRL-O
での移動を可能にします。
マッピングするぞ
筆者の例を書いておきます。とりあえずノーマルモードだけ設定しています。
筆者は、カウントなしならgj
、カウントありならj
の動きに変更しています。gj
は表示行の移動で、行が折り返されているときも見た目どおりに移動してくれます。
カウントありの場合にm'
をつけることでジャンプリストにぶっこみます。
以上です。てっきりジャンプリストに関するオプションがあるのかと思っていましたが、こんなところでm'
を使うとは思っていませんでした。
14j
みたいな移動はいちいち数字を覚えていないため、m'
に感謝。