Отключить режим маркировки прямоугольника в режиме org в emacs

Как отключить режим прямоугольной пометки cua при использовании режима org в emacs? Ctrl + Enter используется в обоих режимах, и я предпочел бы просто потерять функциональность cua, когда я нахожусь в режиме org, поскольку мне обычно не нужно выбирать прямоугольник при редактировании документа org.

Я почти уверен, что когда-то в моем.emacs был какой-то код, который выполнял эту функцию, но я больше не могу найти его где-нибудь в Интернете. К сожалению, мне не хватает гуру-элиспа, чтобы понять это самому.

1 ответ

Решение

Я не использую CUA за исключением прямоугольников, поэтому я делаю

(global-set-key (kbd "C-<return>") 'cua-rectangle-mark-mode)

Привязки режима Org автоматически перекрывают глобальные привязки, поэтому C-<enter> работает org-insert-heading-respect-content без дополнительной настройки.


Я полагаю, вы используете cua-selection-mode или же cua-mode, хоть. Так как он глобален, его нельзя отключить только с помощью органных буферов. Наверное, лучше всего определить свою функцию и связать ее с cua-modeКарта

(defun jpk/C-<return> (&optional arg)
  (interactive "P")
  (if (eq major-mode 'org-mode)
      (org-insert-heading-respect-content arg)
    (cua-rectangle-mark-mode arg)))

(define-key cua-global-keymap (kbd "C-<return>") #'jpk/C-<return>)

CUA делает странные вещи по сравнению с большинством второстепенных режимов, так что, хотя вышеприведенное работает для меня, было бы странно, если ваша настройка отличается от моей.

Другие вопросы по тегам