让我先说一下我是一个相对较新的emacs / spacemacs转换自vim,所以我的知识仍然非常基础。
我在python图层中设置了spacemacs,并在dotspacemacs-additional-packages中列出了额外的dtrt-indent包。并设置
(dtrt-indent-mode t)
此配置适用于具有不同长度的软标签的python文件。此配置也适用于具有硬标签的lua文件。
当我打开一个用硬标签缩进的python文件时,某些东西似乎搞砸了,似乎认为缩进是两个硬标签。意思是,如果我有这样的代码(假装4个空格是制表符):
def func():| <--- Cursor
print 'line'
然后按回车键,我得到:
def func():
| <--- Cursor
print 'line'
状态行打印dtrt-indent的消息:
Note: indent-tabs-mode adjusted to t
注意:如上所述,我对此很新,而且我的spacemacs配置相当稀疏。我的user-config中没有其他内容,我没有自定义图层,除了dtrt-indent之外,我甚至没有任何其他软件包。
编辑:
python-indent-offset设置为8
indent-tabs-mode设置为t
tab-width设置为4
答案 0 :(得分:5)
尝试M-x whitespace-mode
并重复此实验。你看到了什么?你用空格或标签缩进了吗?
我猜你会看到这样的事情:
def·func():
········
» print·'line'
这意味着您将python-indent-offset
设置为8,indent-tabs-mode
设置为nil(也称为空格缩进),tab-width
设置为4。
如果不是这样,那些变量(C-h v python-indent-offset
等)的值是什么?
如果 ,则可以通过运行
解决问题(setq-default python-indent-offset 4)