Vim-keymap-converter
対応表
code:script.js
// 特殊なキー
const specialKeys = {
Backspace: 'BS',
Tab: 'Tab',
Enter: 'CR',
Delete: 'Del',
Escape: 'Esc',
' ': 'Space',
PageUp: 'PageUp',
PageDown: 'PageDown',
End: 'End',
Home: 'Home',
ArrowLeft: 'Left',
ArrowUp: 'Up',
ArrowRight: 'Right',
ArrowDown: 'Down',
F1: 'F1',
F2: 'F2',
F3: 'F3',
F4: 'F4',
F5: 'F5',
F6: 'F6',
F7: 'F7',
F8: 'F8',
F9: 'F9',
F10: 'F10',
F11: 'F11',
F12: 'F12',
};
/icons/javascript.icon→/icons/Vim.icon
code:script.js
export function js2vim({key, ctrlKey, shiftKey, altKey}) {
// 文字入力の場合
if (key.length === 1 && key !== ' ') {
// どれか一つのmeta keyしか有効にしない
if (altKey) return <A-${key}>;
if (ctrlKey) return <C-${key}>;
return key;
// Shift keyの情報は文字に反映されているので何もしない
}
// どれか一つのmeta keyしか有効にしない
if (altKey) return <A-${specialKeys[key]}>;
if (ctrlKey) return <C-${specialKeys[key]}>;
if (shiftKey) return <S-${specialKeys[key]}>;
return <${specialKeys[key]}>;
}
return '';
}