Re: vimperatorrcでキーコードを指定してmapする - hogelogの日記 - vimperatorグループ
http://vimperator.g.hatena.ne.jp/hogelog/20090510/1241970179
の方法がvimp2.2では使えなかったので、自分で書いた。既出かも。
ちなみにvimp2.2リリース以降のnightlyは未試用。
コード
// extraKeysForMapping.js { const extra_keys = [ [ 28, ["Henkan"]], [ 29, ["Muhenkan"]], [ 242, ["Katakana"]], [ 240, ["CapsLock", "Caps"]] ]; let [_code_key, _key_code] = liberator.eval('[code_key, key_code]', events.destroy); extra_keys.forEach(function([code, names]){ _code_key[code] = names[0]; for(let [, name] in Iterator(names)) _key_code[name.toLowerCase()] = code; }); let extra = uneval([_code_key, _key_code]); liberator.eval('[code_key, key_code] = ' + extra, events.destroy); }
動作
map <C-Caps> :js alert('ok')<CR> // Ctrl+CapsLockを入力した時に、'ok'というアラートが表示されるようになる unmap <C-CapsLock> map <C-Caps><C-Caps> :js alert('successful')<CR> // Ctrl+CapsLockを二回入力した時に、'successful'というアラートが表示されるようになる map <C-Caps>foo :js alert('foo')<CR> // 同様