Just do IT

思うは招く

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
  • klの挙動がマップされており、kを押すと右に移動するようになっている
  • jに現在のkの挙動をマップしていて、jを押すとこれまた右に移動する
:map k l
:noremap j k
  • jには本来のkの挙動をマップしていて、jを押すと上に移動する

参考: