在emacs中添加新代码时重新缩进lisp代码

在emacs中添加新代码时重新缩进lisp代码,emacs,lisp,common-lisp,Emacs,Lisp,Common Lisp,假设我有这个: (defun foo () (format t "hello there")) 然后我意识到我遗漏了算法中至关重要的部分,我在这里添加了它: (defun foo () (let ((x 0)) (format t "hello there"))) 如您所见,emacs正确地缩进了新代码,但是已经存在的代码行不会自动更新,以反映它们的缩进相对于后来添加的其他代码行的位置 有没有办法强制更新缩进?在这种情况下:C-M-a移动到defun,C-M-q缩进函数

假设我有这个:

 (defun foo ()
   (format t "hello there"))
然后我意识到我遗漏了算法中至关重要的部分,我在这里添加了它:

 (defun foo ()
   (let ((x 0))
   (format t "hello there")))
如您所见,emacs正确地缩进了新代码,但是已经存在的代码行不会自动更新,以反映它们的缩进相对于后来添加的其他代码行的位置


有没有办法强制更新缩进?

在这种情况下:C-M-a移动到
defun
,C-M-q缩进函数。

如果您还没有,它也可能会对签出感到愤怒。这需要一些时间来适应(我觉得在最初的几天里我一直在努力),但这让我感觉你更像是在处理结构而不是文本


对我来说,我只需标记代码并点击tab键,就可以正确缩进。不过,我不确定这是一个paredit事件还是标准的emacs行为。

也许吧?@tripleee我收到了神奇的答案Beautiful!!正是我需要的我没有安装paredit,但我尝试了你的标记文本和制表符技巧,效果很好,谢谢,有用!