vimの設定 map と noremap の違い
map
:map j k
jを押したらkの機能が発動するjを押すとkを押したときのように上にカーソルが移動するようになる
- もし
kに他の機能がマップされていたら、jにもその挙動がマップされる- たとえば
kに「右へ移動する」機能がマップされていたら、jにもその機能がマップされるため右へ移動する
- たとえば
noremap
:noremap j k
jを押したらkの本来の機能が発動する- もし
kに他のキーがマップされていても、k本来の「上に動く挙動」がjにマップされる - 特に理由がないなら
noremapを使うほうが良い
例
:map k l :map j k
kにlの挙動がマップされており、kを押すと右に移動するようになっているjに現在のkの挙動をマップしていて、jを押すとこれまた右に移動する
:map k l :noremap j k
jには本来のkの挙動をマップしていて、jを押すと上に移動する
参考: