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

标签 emacs lisp common-lisp

假设我有这个:

 (defun foo ()
   (format t "hello there"))

然后我意识到我遗漏了算法中至关重要的部分,因此我将其添加到此处:

 (defun foo ()
   (let ((x 0))
   (format t "hello there")))

正如您所看到的,emacs 正确地缩进了新代码,但是已经存在的行不会自动更新以反射(reflect)它们的缩进应与稍后添加的其他代码行相关。

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

最佳答案

如果您还没有查看 paredit ,您可能也会感到愤怒。 。这需要一些时间来适应(我感觉前几天我一直在与之斗争),但这让你感觉更像是在处理结构而不是文本。

对我来说,我只需标记代码并点击选项卡,一切都会正确缩进。我不确定这是否是 paredit 的事情或者只是标准的 emacs 行为。

关于emacs - 在 emacs 中添加新代码时重新缩进 lisp 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19653960/

相关文章:

emacs - 在 Emacs 中递归识别超过 80 个字符的行

emacs - 如何在 Emacs 中复制/选择整个文件或缓冲区?

haskell - 概述,但在函数式编程中非常重要

lisp - 我的 Lisp 代码无法运行,但函数本身可以编译

lisp - 删除所有出现

emacs - Emacs Lisp 中的 strpos

emacs - 在 emacs 组织模式下卡住表格行

windows - CFFI 没有加载依赖库?

functional-programming - 为什么define-syntax of or in scheme需要考虑三个条件?

lisp - 如何定义和使用 Common Lisp 包(库)?