[emacs] emacs设置python code的indent
装python-mode的包
https://gitlab.com/python-mode-devs/python-mode/tree/master
python-mode
emacswiki文档
emacswiki文档里的配置方法是这样提供的
https://www.emacswiki.org/emacs/IndentingPython
(add-hook 'python-mode-hook
(lambda ()
(setq-default indent-tabs-mode t)
(setq-default tab-width 4)
(setq-default py-indent-tabs-mode t)
(add-to-list 'write-file-functions 'delete-trailing-whitespace)))
我的配置
通过实践,并阅读了python-mode.el的源码,发现上面的配置并不生效。
应如下配置:
(add-hook 'python-mode-hook
(lambda ()
(setq-default py-indent-offset 8)
(setq-default py-indent-tabs-mode t)))
可能不好使。。。。。 TOBE continue。。。
update @ 2019-01-23
上面的配置,果然不好使。然后我就自己研究了一下。
首先删除了melpa中的python-mode包。因为emacs自带一个python mode在python.el中。
通过查询help信息可以查到
C^x + h + v + python-mode
通过阅读源码,分析出如下的配置信息:
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(whitespace-mode t)
(display-line-numbers-mode t)
(fci-mode t)))
通过测试,可以生效。
另外,后三行是我自有的配置,与本文主题无关。
结案。