Emacs 24.5,CUA 模式。不在迷你缓冲区中粘贴文本

Emacs 24.5 , CUA mode. Not paste text in the minibuffer

在 Windows 7 / Emacs 24.5

  1. 复制文本,例如"example" 在杀戮圈
  2. M-x
  3. C-y(拉克)
  4. 成功在迷你缓冲区中显示文本 "example"

但是如果打开 CUA 模式,文本 "example" 不会被 'C-v' 拉(粘贴)到迷你缓冲区中。

CUA 模式使 C-v 成为 yank/paste 命令。

如果您使用以下命令启动 Emacs:

emacs -Q

然后打开 CUA 模式 (M-x cua-mode) 你会看到 C-v 如你所愿。

在不了解您的设置的情况下很难确定,但很可能您正在使用修改 M-x 行为的包(例如 smex、Ido、ivy 等)

CUA 模式可能与此问题无关。您可以通过尝试 C-y 也拉入迷你缓冲区来验证这一点。

增强 M-x 的软件包可能会提供一种允许您暂时退出的方法,因此您可以提取文本 in-place。

更新

根据您的评论,我们知道您正在使用 Helm,它会覆盖迷你缓冲区中的某些绑定,包括 C-v,它会向下翻页。

因为绑定应用于不同的模式(上下文)范围,迷你缓冲区模式映射(键绑定列表)将覆盖在更一般的上下文(例如 cua 模式)中应用的任何内容

要解决此问题,您需要在受影响的模式映射中专门为 cua-paste 添加绑定。它需要在 Helm 加载后应用。