如何在不覆盖剪贴板的情况下在Emacs Evil-Mode中复制文本?

时间:2014-10-20 18:13:06

标签: vim emacs copy-paste evil-mode

This post描述了如何在Vim中执行此操作,其中复制命令的前缀为" + <register name>(即k)。我怎么能在Emacs邪恶模式中做到这一点?

例如,我尝试了以下内容:

  • yy - 将第一行复制到剪贴板
  • jjj - 转到新的一行
  • "kyy - 复制第二行以注册k
  • 转到我的新区域
  • p - 粘贴第一行
  • "kp - 粘贴第二行

但是,在p,Emacs会粘贴我的第二行,就好像该寄存器被忽略并直接复制到剪贴板一样。关于如何使用类似Vim的寄存器的任何建议?若否,有关如何在邪恶模式下复制和粘贴多个区域的任何建议?

3 个答案:

答案 0 :(得分:6)

我认为设置此值会执行此操作:

(setq x-select-enable-clipboard nil)

使用evil(在spacemacs中),"+y仍然复制到剪贴板,所以我认为这应该有用。


如果没有,this blog post描述了一个更详细的方法:编写处理程序,以便您可以删除所有方法以避免触摸剪贴板并重新绑定密钥以使用这些处理程序。

答案 1 :(得分:2)

这是100%的解决方案,如果你是太空人,可能是其他人:

(fset 'evil-visual-update-x-selection 'ignore)

感谢:https://emacs.stackexchange.com/a/15054/8377

答案 2 :(得分:1)

它在vim中表现相似。无论您打算使用哪个寄存器,数字寄存器都会被覆盖。在Emacs(当然是邪恶的)和Vim中运行你的例子我正确地填充了k寄存器并且在寄存器0下,最近的冲突恰好与{k相同1}}。