首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >emacs:将S-Expression放入kill ring,但不删除它

emacs:将S-Expression放入kill ring,但不删除它
EN

Stack Overflow用户
提问于 2016-05-30 21:24:32
回答 2查看 500关注 0票数 3

我正在寻找一个命令来把一个S表达式放到杀死环上,而不是删除它。

使用M-x kill-sexp时,以下场景将执行此操作,但表达式将被删除

代码语言:javascript
复制
(foo (bar bam))
^
point here
EN

回答 2

Stack Overflow用户

发布于 2016-06-01 11:40:21

有很多方法可以做到这一点(例如,使用内置的thing-at-point,或者只是通过call-interactively调用kill-sexp,然后恢复原始的缓冲区内容)。

不过,将其实现为稍微修改过的kill-sexp相当简单。这是我使用的:

代码语言:javascript
复制
(defun copy-sexp-as-kill (&optional arg)
  "Save the sexp following point to the kill ring.
ARG has the same meaning as for `kill-sexp'."
  (interactive "p")
  (save-excursion
    (let ((orig-point (point)))
      (forward-sexp (or arg 1))
      (kill-ring-save orig-point (point)))))

(global-set-key (kbd "M-K") #'copy-sexp-as-kill)
票数 1
EN

Stack Overflow用户

发布于 2018-01-08 03:30:28

我建议先安装smartparens,再简单地使用sp-copy-sexp

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37526838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档