在Slime中复制/ Yank整个Lisp表单

Joe*_*oel 6 lisp emacs slime

有没有办法在Slime/Emacs中复制/抽取整个表单?

例如,如果我有以下功能:

(myfunc (lst)
    (myotherfunc lst))
Run Code Online (Sandbox Code Playgroud)

我想猛拉/复制:

(myotherfunc lst)
Run Code Online (Sandbox Code Playgroud)

当我的光标位于该窗体的左括号或右括号时(在Slime/Emacs进行括号匹配的位置),通过发出键盘快捷键.

kod*_*ddo 13

  • C-M-SPC (mark-sexp)将标记放在sexp的末尾,然后复制/猛拉

  • C-M-f(forward-sexp)和C-M-b(back-sexp)对于在平衡表达中前进和后退是有用的

http://www.emacswiki.org/emacs/ParenthesisMatching#toc2


seh*_*seh 9

在我的Emacs中,函数kill-sexp必然会被绑定C-M-k.也就是说,假设该点恰好位于平衡表达式的开始分隔符之前,请同时按Control,Meta和k.

这个命令在各种其他非Lisp模式下工作,例如在C风格模式下杀死大括号分隔的块,尽管kill-sexp命令可能没有绑定到相同的键.