我可以在Emacs中为yanks保留相同的项目吗?

Ski*_*ick 12 emacs

我在Emacs中经常做的事情是剪切一些文本,然后用剪切文本替换另一个文本.所以,说我有我想要的文字作为我的最后一项kill-ring.我把它拉到新的地方,然后杀死已经存在的文本.但现在被杀死的文本是最新的项目kill-ring.所以下次我要抓第一个项目时,我必须这样做C-y M-y.然后下一次有两个最近的项目kill-ring,所以我必须这样做C-y M-y M-y,依此类推.

我猜这是一个更好的方法.有人可以开导我吗?

hua*_*uan 9

几种选择:

  1. 打开delete-selection-mode,使用C-ddelete删除区域而不触及杀环.
  2. 使用C-x r s i保存文字注册我,后来,C-x r i i插入保存的文本.
  3. 如果要替换的文本模式可以在正则表达式中捕获,请使用query-replace-regexp(C-M-%).


Jér*_*dix 6

你应该使用delete-region而不是kill-region.

delete-region删除该区域而不将其放入杀死环中.它<menu-bar> <edit> <clear>默认绑定.

如果您只想在不使用菜单的情况下使用默认绑定,则可以使用delete-rectangle,C-x r d但它适用于矩形.在单行上使用它可能没问题delete-region.