code: function cmKeyToVimKey(key, modifier) {
          var vimKey = key;
          if (isUpperCase(vimKey)) {
            // Convert to lower case if shift is not the modifier since the key
            // we get from CodeMirror is always upper case.
            if (modifier == 'Shift') {
              modifier = null;
            }
            else {
              vimKey = vimKey.toLowerCase();
            }
          }
          if (modifier) {
            // Vim will parse modifier+key combination as a single key.
            vimKey = modifier.charAt(0) + '-' + vimKey;
          }
          var specialKey = ({Enter:'CR',Backspace:'BS',Delete:'Del'})[vimKey];
          vimKey = specialKey ? specialKey : vimKey;
          vimKey = vimKey.length > 1 ? '<'+ vimKey + '>' : vimKey;
          return vimKey;
        }
docs: Handle the raw key event from CodeMirror. Translate the
  Shift + key modifier to the resulting letter, while preserving other
  modifers.
   TODO: Figure out a way to catch capslock.