我在Emacs 23中使用python.el
found here版本已经使用了几年没有发生任何事故。我决定尝试股票python.el
,并遇到一个奇怪的问题:
当使用标签进行缩进并且标签宽度为4时,库存python.el
将缩进每个级别的两个标签字符而不是1.标签宽度为5时,缩进将为1个标签加3个空格。因此,当indent-tabs-mode
为t
时,indent-for-tab-command
似乎总是强制标签大小为8,无论tab-width
设置为什么。
我可以设置其他与标签相关的变量来覆盖此行为吗?
答案 0 :(得分:4)
我想在挖掘了Emacs 23 python.el
和the newest python.el
on the block股票的源代码后,我已经想到了这一点。
根据python-mode
缓冲区中的这些设置,带标签的缩进和标签宽度为4的工作符合库存python.el
的预期:
(setq indent-tabs-mode t
tab-width 4
python-indent 4)
对于新的python.el
,您需要将python-indent
更改为python-indent-offset
。我正在使用两种模式的两种设置而没有问题。
如果有人能更好地解决这个问题,请添加它,我很乐意接受它作为正确答案。
答案 1 :(得分:1)
使用标签?检查
用python.el试用emacs 23?检查
我和你最近碰到了同样的墙...我所学到的是我真的讨厌标签而且我发现python的空白意义非常令人讨厌。
您是在init中设置tab-width还是使用自定义?
我必须确保在“编辑基础知识”部分中通过自定义更改标签宽度以获得“4空格”标签(与全局/本地范围有关)。但乐趣并没有结束...... python.el似乎只想缩进到第一个制表位(现在是第4列),不管我设置缩进标签模式还是制表符总是缩进至。我终于放弃并回到使用python-mode.el,它有自己的一套特性,但至少python代码是“正确”缩进。