我看过python-mode和python.el。我正在使用python-mode.el。我也在使用绳索和绳索。我正在寻找关于这些的一些文档,这些文档可以帮助我,或者其他elisp软件包或其他东西。
我目前的问题是我给出的代码具有不一致的缩进大小。对于一些块,它将是两个,对于一些它将是4.我想要清理它,但由于某种原因,当我告诉emacs“修复缩进”时它只是在每行上点击选项卡,这搞砸了代码。我想要的是保持相同的相对缩进,但标准化为4个空格。有什么能让我轻易做到这一点吗?
我想我可以找到每个坏缩进的实例,阻止它,并用4个空格查询替换2个空格。但这对我的精确度有点过分依赖,注意到应该在哪里完成。此外,它是很多代码。
有人告诉我,自行车修理工会解决这个问题,但现在几年已经没有发展......还有其他任何建议吗?
感谢。
答案 0 :(得分:0)
假设你已经使用了Sven Marnach的评论来清理代码库,我猜你只需要让python-mode.el使用你喜欢的缩进样式吗?
查看变量py-indent-offset
和py-smart-indentation
(也许还有py-continuation-offset
和py-honor-comment-indentation
)。与普通indent-tabs-mode
一样。
您可以自定义它们( Mx customize-group
RET python
RET ),或添加自定义函数到python-mode-hook
。 e.g:
(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))
答案 1 :(得分:0)
答案 2 :(得分:-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的缩进设置。