我在Emacs23中使用python.el found here版本已经有几年了,没有任何意外。我决定尝试一下股票python.el,结果遇到了一个奇怪的问题:
使用制表符进行缩进并且制表符宽度为4时,库存python.el将为每个级别缩进两个制表符字符,而不是1个。如果制表符宽度为5,则缩进将为1个制表符加3个空格。因此,当indent-tabs-mode为t时,无论tab-width设置为什么,indent-for-tab-command似乎总是强制将制表符大小设置为8。
有没有其他选项卡相关的变量,我可以设置来覆盖这个行为?
发布于 2011-02-25 00:52:46
我想在深入研究了Emacs23、python.el和the newest python.el on the block的源代码之后,我已经弄明白了这一点。
给定python-mode缓冲区中的这些设置,在常用python.el中使用制表符和制表符宽度4进行缩进的效果与预期相同
(setq indent-tabs-mode t
tab-width 4
python-indent 4)对于新的python.el,您需要将python-indent更改为python-indent-offset。我在两种模式下都使用了这两种设置,没有问题。
如果有人对这个问题有更好的解决方案,请添加它,我很乐意接受它作为正确的答案。
发布于 2011-02-24 22:21:22
使用标签卡住了吗?检查
在python.el上试用emacs 23?检查
我最近遇到了和你一样的困难...我所了解到的是,我真的很讨厌制表符,而且我发现python的空格意义令人难以置信地讨厌。
你是在你的init中设置tab-width还是使用customize?
我必须确保通过自定义在“编辑基础”部分更改选项卡宽度,以获得"4空格“选项卡以粘贴(与全局/局部作用域有关)。但乐趣并没有到此为止。python.el似乎只想缩进到第一个制表位(现在是第4列),而不管我将缩进-制表符模式或制表符-始终缩进设置为什么。我最终放弃了,重新使用python-mode.el,它有它自己的一组特性,但至少python代码是“正确”缩进的。
https://stackoverflow.com/questions/5098874
复制相似问题