删除Emacs中的当前(非原子)s表达式

Pat*_*ois 5 emacs paredit

有没有一种简单的方法可以根据光标位置删除最小的非原子s表达式?我要转这个("|"是光标)

(defun foo (bar)
  (if bar
      |789
    (+ 456 123)))
Run Code Online (Sandbox Code Playgroud)

进入这个

(defun foo (bar)
  |)
Run Code Online (Sandbox Code Playgroud)

这似乎是一件有用的事情,但是我无法在Paredit备忘单上找到相关的(一步)命令.

Ole*_*liv 4

我也没有找到预定义的命令。

幸运的是,使用 Emacs 可以很容易地实现您自己的。

例如:

(define-key global-map (kbd "C-c C-d") 
    (lambda () (interactive) (backward-up-list) (paredit-kill)))
Run Code Online (Sandbox Code Playgroud)

  • 我建议使用“CMu CMk”而不是原子命令。 (6认同)