5

我看过 python-mode 和 python.el。我正在使用 python-mode.el。我也在使用绳索和绳索。我正在寻找一些对我有帮助的文档,或者其他 elisp 包或其他东西。

我目前的问题是我给出的代码的缩进大小不一致。对于某些块,它将是两个,对于某些块,它将是 4。我想清理它,但是由于某种原因,当我告诉 emacs“修复缩进”时,它基本上只是在每一行上点击制表符,这搞砸了代码。我想要的是保持相同的相对缩进,但标准化为 4 个空格。有什么能让我轻松做到这一点吗?

我想我可以找到每个缩进不良的实例,阻止它,然后用 4 个空格查询替换 2 个空格。但这有点过于依赖我的精确度,注意到应该在哪里完成。此外,它有很多代码。

有人告诉我自行车修理工会解决这个问题,但是这已经好几年没有开发了......还有其他建议吗?

谢谢。

4

3 回答 3

0

假设您使用 Sven Marnach 的注释来清理代码库,我猜您只需要让 python-mode.el 使用您喜欢的缩进样式?

查看变量py-indent-offset, 和py-smart-indentation(也许还有py-continuation-offsetand py-honor-comment-indentation)。以及正常的indent-tabs-mode

您可以自定义它们 ( M-x customize-group RET python RET),或将自定义函数添加到python-mode-hook. 例如:

(add-hook 'python-mode-hook 'my-python-mode-hook)
(defun my-python-mode-hook ()
  (setq indent-tabs-mode nil
        py-smart-indentation nil
        py-indent-offset 4))
于 2011-02-05T00:42:02.613 回答
0

将 py-smart-indentation 设置为“t”

当前的 python-mode.el 应该这样做。

http://launchpad.net/python-mode

如果有错误,请在那里报告

于 2012-07-26T17:20:19.457 回答
-1
(custom-set-variables
   ...
   '(indent-tabs-mode nil)
   '(tab-stop-list (quote (4 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120)))
   '(tab-width 4))

显然,这些是尊重它们的模式的全局设置(python-mode 就是这样做的)。我根本没有对 python-mode 的缩进设置感到困惑。

于 2011-02-05T04:15:06.153 回答