Hatena::Grouplcwiki

キーリマップ思想編(Vim)

キーリマップ思想編(Vim)

<Esc>について

流派

  • <Esc>
  • <C-[>
    • 利点:普遍性がある
    • 欠点:押しづらい
  • <C-c>
  • キーリマップ・外部からのキー変更
    • Shougo氏 jjを<Esc>にリマップ
    • AutoHotKeyで右Altキーに<Esc>の役割を持たせる

バッファ切換・ウィンドウ切換について

流派

  • <C-n>,<C-p>
    • vimperatorの人のバッファ切換も恐らくこれ(vimperatorデフォルトマップでタブ切換)
  • gh,gl
  • <M-h>,<M-l>
  • <Space>h,<Space>l

<Leader><LocalLeader>について

多くのプラグインがデフォルトバインドのプレフィックスキーとして利用している。

変数mapleaderによって変更できる。

let mapleader = ','
let maplocalleader = '_'

初期値は'\\'。つまりバックスラッシュキーである。

この状態で例えば、

noremap <Leader>a    :call Example()<CR>

というマッピングが定義されている場合、それは実際には\aである。

しかし、私はmapleaderは変更しないことを勧める。

なぜなら、

  1. 各種プラグインがデフォルトで充ててくるバインドは非直感的なものや打ちづらいものが多い。
  2. 多くのプラグインが<Leader>を共通で使うのでしばしばマッピングのバッティングが生じる。

変更しないで、よく使うキーバインドには自分で専用キーを用意して割り当てる方がいい。