问题标签 [cua-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
521 浏览

emacs - Emacs:从自定义函数中调用 cua-mode cua-set-rectangle-mark

目前,我将 cua-mode 用于其列/矩形设施,如下所示(我不使用它进行复制/粘贴):

然后当我完成我的矩形时:

CUA 模式的绑定与其他模式绑定(例如在 org 模式中)发生冲突,因此我有时发现自己不得不打开/关闭 cua 模式。我只将它用于它的矩形 - 所以我想通过做两件事来解决这个麻烦:

1)将一个键(比如 f6)绑定到一个启用 cua 模式的函数(如果它尚未启用)并调用 cua-set-rectangle-mark 以便我可以创建我的矩形。

2) 在 cua-mode 处于活动状态时覆盖 Cg,这样当按下时它不仅会退出任何矩形,而且还会退出 cua-mode。

那么我的工作流程将是:

这样我就不需要在发生冲突时不断地打开/关闭 cua 模式。

对于第 1 部分,我想出了:

当 cua-mode 已启用时按 f6 有效,但在未启用 cua-mode 时无效。如果我把它改成这样:

那么无论我是否开始启用 cua 模式,它都不起作用。

对于第 2 部分,我有:

该功能完全符合我的要求,但我不知道如何在启用 cua-mode 时将其绑定到 Cg。

所以我的问题:

1)如何编写函数以进入 cua-mode 并调用 cua-set-rectangle-mark 使其按预期工作?

2) 如何仅在 cua-mode 处于活动状态以调用我的自定义函数时覆盖 Cg?

0 投票
1 回答
460 浏览

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

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

我很确定我曾经在我的 .emacs 中有一些执行此功能的代码,但我再也无法在网上的任何地方找到它。可悲的是,我还不足以自己解决这个问题。

0 投票
0 回答
50 浏览

emacs - 如何在 cua 模式下使用矩形选择撤消?

一个简短的示例:在编写文本时,我打错了“f”(屏幕截图 1)并想使用 Cz 撤消它。结果是缺少矩形选择,最后一行仍然有“f”(屏幕截图 2)。

相反,我想保留矩形选择并且没有剩余的“f”来继续输入。

有什么建议么?提前致谢!

0 投票
1 回答
178 浏览

emacs - Emacs 24.5,CUA 模式。不在 minibuffer 中粘贴文本

在 Windows 7 / Emacs 24.5 中

  1. 复制文本,例如"example"在杀戮环中
  2. M-x
  3. C-y(猛拉)
  4. "example"成功在 minibuffer 中显示文本

但是如果打开 CUA 模式,文本"example"不会在 minibuffer 中被 'Cv' 拉出(粘贴)。

0 投票
1 回答
118 浏览

emacs - 瞬态标记模式和cua模式之间的交互?

我正在编写一些自定义函数来以特定方式移动点,并且我遇到了正确管理标记和区域的问题。出于说明目的,这里有几行代码实际上并没有多大作用,它们只是将 [home] 键绑定到一个自定义函数,该函数检查标记是否已经激活 - 如果没有,它会暂时启用瞬态标记并设置标记。在所有情况下,它都会按照您的预期调用“行首”。

所以现在让我们考虑两种情况:

  1. [home] - 任何非移动光标移动键 - [home]
  2. [home] - 任何移动的光标移动键 - [home]

在 emacs 24.4 及更高版本中,一切都按我的预期运行:

  1. [home] 的第一次出现暂时启用瞬态标记(瞬态标记模式=(仅 .OLDVAL)。然后标记被任何未移动的光标移动命令停用,瞬态标记模式恢复为 OLDVAL在随后调用 [home] 时观察到
  2. 不同之处在于移动的光标移动键使标记处于活动状态,而瞬态标记暂时启用。在最后一次出现 [home] 时,在进入我的自定义函数时仍然可以观察到 transient-mark-mode = (only .OLDVAL)

现在,在 emacs 24.3 和更早的版本中,当 cua-mode 被禁用时,我仍然会得到相同的行为。但是当启用 cua-mode 时,在场景 #2 中会发生一些我不明白的事情。在这种情况下,似乎存在一些交互,并且某些东西(CUA ?)会停用标记并将瞬态标记模式恢复为 OLDVAL。谁能解释发生了什么,甚至可能更好,如何编写我的自定义函数,使其在所有情况下都具有所需的行为?(emacs 24 或 25,是否启用 cua 模式)

0 投票
1 回答
215 浏览

emacs - Emacs:启用 CUA 模式时如何重新定义 Ctrl-Enter?

如果启用了 cua-mode ,则重新定义Ctrl-Enter不会按预期工作,并且始终运行cua-set-rectangle-mark功能。在下面的代码中,您可以看到我还为我的函数定义了Alt-Enter,只是为了测试,它运行良好。但我希望将Alt-Enter留给cua-set-rectangle-mark因为我更喜欢使用Ctrl-Enter来调用我的函数,该函数在当前行下方创建一行。怎么了?