Emacs Как переопределить Shift-R для ожидаемого использования - PullRequest
3 голосов
/ 20 января 2010

Я проверил свои файлы elisp, чтобы убедиться, что у меня нет привязок, содержащих Shift + R (и я не нашел ни одной). Я ожидаю, что SHIFT + R напечатает заглавные буквы, но вместо этого я получаю R R undefined внутри командной строки Emacs. Это только в основных режимах C / C ++.

Есть предложения?

Обновление : описание ключа показывает, что он не определен. Как бы я определил его для обычного, ожидаемого использования (с заглавной буквы R)?

Ответы [ 4 ]

2 голосов
/ 20 января 2010

Я предполагаю, что под «ожидаемым использованием» вы подразумеваете вставку символа «R». Для этого вам нужно привязать ключ к 'self-insert-command':

M-x global-set-key R self-insert-command

Или в вашем файле .emacs или .emacs.d / init.el:

(global-set-key "R" 'self-insert-command)

Конечно, это должно быть по умолчанию ....

2 голосов
/ 20 января 2010

Я получаю немного дежа-вю, и, если память работает так, как я столкнулся несколько лет назад, это то, что (в Windows) определенные настройки специальных возможностей сбрасывались или меняли код клавиши для правой клавиши переключения. Извините, я не могу быть более конкретным, но, может быть, это будет стимулировать кого-то другого придумать реальный ответ. Тест, который вы можете сделать: работает ли поведение с обеими клавишами Shift или только с одной? Если ответ только один показывает плохое поведение, это плохое поведение отображается со всеми ключами?

1 голос
/ 20 января 2010

Попробуйте C-h k (описать-клавишу), затем нажмите Shift-R. Аргумент description-key расскажет вам, что связано с этим ключом. По крайней мере, это даст вам подсказку о том, существует ли активная привязка. Если есть привязка, возможно, она подскажет вам что-то еще для поиска в ваших файлах запуска.

0 голосов
/ 16 марта 2010

Похоже, у тебя та же проблема, что и у меня. Ввод Re ... в любом HTML-буфере будет пытаться выполнить команду R, когда каждая отдельная команда R- * не определена. Оказалось, что в моем файле .emacs была опечатка. У меня была глобальная карта ключей, установленная на (kbd "REF") вместо (kbd "RET"), и ее исправление сразу же привело к исчезновению проблемы. Поэтому я бы порекомендовал проверить что-нибудь подобное в вашем файле .emacs.

...