微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Emacs相当于Vim的yy10p?

如何在Emacs中容易地复制一行10次?我找不到一个复制行快捷方式或功能。我可以使用C-aC-spcC-eM-w来费力地复制该行,但是如何才能多次粘贴?

任何想法之前,我去写自己的功能

复制:

如果您经常使用线路,则在没有选择任何区域时,您可能需要在线路上进行复制(kill-ring-save)和切割(kill-region)功能

(defadvice kill-ring-save (before slickcopy activate compile)
  "When called interactively with no active region,copy a single line instead."
  (interactive
   (if mark-active (list (region-beginning) (region-end))
     (list (line-beginning-position)
           (line-beginning-position 2)))))
(defadvice kill-region (before slickcut activate compile)
  "When called interactively with no active region,kill a single line instead."
  (interactive
   (if mark-active (list (region-beginning) (region-end))
     (list (line-beginning-position)
           (line-beginning-position 2)))))

然后你可以用M-W复制行。

粘贴:

通常,前缀参数只是执行一次动作多次,所以你会期望C-u 10 C-y工作,但在这种情况下,C-y使用它的参数来表示kill-ring的哪个元素“yank”(粘贴)。我可以想到的唯一的解决方案是kronoz说的:用Cx(Cy Cx)记录一个宏,然后让Cu的参数转到kmacro-end-and-call-macro(这是Cu 9 Cx e甚至只是C -9 Cx e或M-9 Cx e)。

其他方式:你也可以留在M-x蛇蝎模式,并使用yy10p

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐