dbr*_*die 1 python emacs spacemacs
首先,让我说我是从vim转换而来的emacs / spacemacs相对较新,因此我的知识仍然很基础。
我在python层设置了spacemacs,并在dotspacemacs-additional-packages中列出了dtrt-indent的其他软件包。和设置
(dtrt-indent-mode t)
Run Code Online (Sandbox Code Playgroud)
在dotspacemacs / user-config中。我需要dtrt-indent,因为我正在处理一些项目(在python和lua中),但我不是设置缩进规则的人。
此配置适用于带有不同长度软标签的python文件。此配置也适用于具有硬标签的lua文件。
当我打开带有硬标签的缩进的python文件时,似乎有些混乱,似乎认为缩进是两个硬标签。意思是,如果我有这样的代码(假设4个空格是制表符):
def func():| <--- Cursor
print 'line'
Run Code Online (Sandbox Code Playgroud)
然后按Enter,我得到:
def func():
| <--- Cursor
print 'line'
Run Code Online (Sandbox Code Playgroud)
状态行显示dtrt-indent的消息,内容为:
Note: indent-tabs-mode adjusted to t
Run Code Online (Sandbox Code Playgroud)
注意:如前所述,我在这方面还很陌生,而我的spacemacs配置非常稀疏。我的用户配置中没有其他内容,没有自定义层,除了dtrt-indent之外,我什至没有任何其他软件包。
编辑:
python-indent-offset设置为8
indent-tabs-mode设置为t
制表符宽度设置为4
尝试M-x whitespace-mode
重复此实验。你看到了什么?您缩进了空格还是制表符?
我猜您会看到类似以下内容:
def·func():
········
» print·'line'
Run Code Online (Sandbox Code Playgroud)
这意味着您已将其python-indent-offset
设置为8,indent-tabs-mode
设置为nil(又称带有空格的缩进),并tab-width
设置为4。
如果不是这种情况,那么这些变量(C-h v python-indent-offset
,等等)的值是什么?
如果是这样,您可以通过运行来解决问题
(setq-default python-indent-offset 4)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2646 次 |
最近记录: |