我已经为 python 开发设置了我的 emacs。我使用 elpy 和其他工具(如 autopep8、pylint 和 flycheck)从 emacs 获取语法和样式问题的反馈。我使用空格进行缩进,这是建议的方法 (pep8)。一切正常。
在工作中,我们使用制表符进行缩进,我想为此设置我的 emacs。我将以下内容添加到我的 emacs 中,它似乎工作正常。
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq python-indent 4)
(setq tab-width 4)))
问题是,在添加这些行之后,我遇到了 pylint、autopep8 等问题。
例如,pylint 提示使用制表符,autopep8 自动修复制表符并将它们替换为空格以及与我使用制表符而不是空格这一事实相关的许多其他错误。
我可以禁用一些错误检查(例如 E123 等),然后我可以让它与 pylint、autopep8、flycheck 等一起工作。实际上我试了一下,我想我可以让它工作,但它似乎是一种“野蛮”的方法。
有没有一种优雅/简洁的方法可以让 emacs 使用制表符而不是 python 中的空格缩进,同时尽可能避免来自其他插件(pylint、autopep8、flycheck 等)的提示?
最佳答案
我不使用 autopep8 或 flycheck,但我使用 pylint。您可以使用 pylint 的 --indent-string
选项来使用制表符而不是空格。
(setq pylint-options (append pylint-options '("--indent-string=' '")))
关于python - emacs:python 设置缩进选项卡(pylint、autopep8、flycheck 等问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37229099/