Vim 如何在Emacs模式下复制文本而不覆盖剪贴板?

Vim 如何在Emacs模式下复制文本而不覆盖剪贴板?,vim,emacs,copy-paste,evil-mode,Vim,Emacs,Copy Paste,Evil Mode,描述了如何在Vim中执行此操作,其中在复制命令前面加上“+(即k)。如何在Emacs邪恶模式下执行此操作 例如,我尝试了以下方法: yy-将第一行复制到剪贴板 jjj-移动到某个新行 “kyy-复制第二行以注册k 搬到我的新地区 p-粘贴第一行 “kp-粘贴第二行 但是,在p,Emacs粘贴我的第二行,就好像寄存器被忽略并直接复制到剪贴板一样。关于如何使用类似Vim的寄存器有什么建议吗?如果没有,关于如何在邪恶模式下复制和粘贴多个区域有什么建议吗?它在Vim中的行为类似。数字寄存器会被覆盖,

描述了如何在Vim中执行此操作,其中在复制命令前面加上
+
(即
k
)。如何在Emacs邪恶模式下执行此操作

例如,我尝试了以下方法:

  • yy
    -将第一行复制到剪贴板
  • jjj
    -移动到某个新行
  • “kyy
    -复制第二行以注册
    k
  • 搬到我的新地区
  • p
    -粘贴第一行
  • “kp
    -粘贴第二行

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

它在Vim中的行为类似。数字寄存器会被覆盖,无论是哪个区域在Emacs(当然是邪恶)和Vim中运行您的示例,我将正确填充
k
寄存器,并在register
0
下,最新的yank恰好与
k
中的相同,我认为设置此值可以:

(setq x-select-enable-clipboard nil)
使用邪恶(在SpaceMac中),
“+y
仍然会复制到剪贴板,所以我认为应该可以



如果没有,则描述一种更详细的方法:编写处理程序,用于所有可以删除的方式,以避免触摸剪贴板,并重新绑定键以使用这些处理程序。

如果您是SpaceMac,则这是100%的解决方案,或者可能是其他:

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

归功于:

是否
:在您键入
“ky
?是的,register
k
存储我复制的文本,但我的剪贴板也被替换为复制文本。在邪恶模式下复制时,如何保留剪贴板内容?这不是正确的答案,因为我更希望听到解决这个小麻烦的方法。请查看上面idbrii的答案。他的链接博客文章似乎完美地解决了这个问题。哇,那篇博客文章正是我所需要的。它完美地解决了我的问题!而且代码非常干净和模块化;-)这在以“emacs-nw”开头的emacs中不起作用,即在终端中工作。你能推荐一些在航站楼也能用的替代方案吗?@enitihas:我不知道。我看不出终端中的
yy
与窗口中的有多大不同。你可能需要问一个针对终端的新问题(也包括这个问题的链接!)。你好@Lucas,我在找同样的问题,你有代码来解决这个问题吗?我问你是因为现在那篇博客的链接断了。谢谢@扎恩塔雷斯对断开的链接表示抱歉!发生这种情况真令人失望。但是这里有一些代码可以帮你解决问题:如果你有任何问题,请保持联系!这并不能解决上述问题。我认为你的答案是解决一个不同的问题。。。