💨
【Vim】nNコマンドの挙動を自然にする
Vimの検索には、マッチを前方から行う/と後方から行う?があります。
マッチした対象の移動にはn``Nを利用しますが、/と?で移動の方向が変わり直感的でないことがあります。
この挙動を変更したい場合以下のスクリプトを.vimrcに書くと良いでしょう。
nnoremap <expr> n 'Nn'[v:searchforward]
nnoremap <expr> N 'nN'[v:searchforward]
上のスクリプトは検索の方向によっての値の変わるv:searchforwardを利用してn``Nのどちらのキーを展開するか決定します。
元となった投稿: Vim-jp Slack @yutkat
@yutkat
nnoremap <expr> n 'Nn'[v:searchforward] nnoremap <expr> N 'nN'[v:searchforward]
Discussion