У меня есть следующие привязки:сдвинутой команда игнорируется, если несмещенная версия существует
M-q => fill-paragraph
M-S-q => unfill-paragraph
Но как ключевые результаты комбо в первом: fill-paragraph
, так кажется, что Shift
и, таким образом, unfill игнорируется. Я поставил второй сам:
(prelude-require-package 'unfill)
(define-key prelude-mode-map "\M-\S-q" nil) ; don't let prelude dictate it
(global-set-key (kbd "M-S-q") 'unfill-paragraph)
Существует поведение Emacs, чтобы возвратиться к несмещенной последовательности когда смещенная версия не существует (это, кажется, хорошо, но должен не происходит в данном случае) , Поэтому, если у меня не было привязки M-S-q
, тогда нажатие должно привести к fill-paragraph
, что - это то, что я, к несчастью, вижу. Это говорит о том, что каким-то образом Emacs не знает о втором привязке. Но я проверял, что знает с C-h f unfill-paragraph
, подтверждающий это. Вызов от M-x
показывает, что он хорошо работает.
Почему игнорируется Shift
?
(Это версия графического интерфейса пользователя Emacs и мои ключи сменной работа отлично подходит для других вещей.)
как насчет '(глобальный-set-key (kbd" M-Q ") 'Неполный абзац)' – jenesaisquoi
Спасибо, я думаю, что это работает. Вау. Но это раздражает, так как я видел использование «CS-» в нескольких местах (например, http://stackoverflow.com/questions/858713/can-emacs-differentiate-between-ctrl-r-and-ctrl-shift-r), и мне это нравится. –
n.b. Это фактически дубликат [Почему ключевое связывание M-S-t не работает, пока работает C-S-t?] (Http://stackoverflow.com/q/38180797/324105) (которые видят некоторые объяснения/спекуляции) – phils