在 emacs 的 org 模式下关闭矩形标记模式

Turn rectangle mark mode off in org mode in emacs

在emacs中使用org模式时如何禁用cua的矩形标记模式?两种模式都使用 Ctrl + Enter,我宁愿在 org 模式下只失去 cua 的功能,因为在编辑 org 文档时我通常不需要 select 一个矩形。

我很确定我的 .emacs 中曾经有一些执行此功能的代码,但我再也无法在网上找到它。可悲的是,我还不够 elisp 大师自己弄明白。

除了矩形,我不使用 CUA,所以我使用

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

Org 模式的绑定会自动覆盖全局绑定,因此 C-<enter> 无需额外配置即可运行 org-insert-heading-respect-content


不过我假设您使用的是 cua-selection-modecua-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 做的事情有点奇怪,所以虽然上面的方法对我有用,但如果你的设置与我的不同,它可能会很奇怪。