如何将.py文件的Emacs选项卡大小设置为4个字符宽?
我尝试使用以下方法:如何将.py文件的Emacs选项卡大小设置为4个字符宽?,emacs,Emacs,我尝试使用以下方法: (setq-default tab-width 4) (setq-default tab-stop-list (list 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) 但是编辑.py文件时,选项卡的大小仍然是8个字符宽。在其他文件中,它降到了4,所以我假设Python主模式以某种方式覆盖了它。我知道我可以将python缩进设置为4,但这会导致插入空格(这与我们的代码样式指南背道而驰) 如何使标签宽度为4个字符 更新: 我也尝试过
(setq-default tab-width 4)
(setq-default tab-stop-list (list 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60))
但是编辑.py文件时,选项卡的大小仍然是8个字符宽。在其他文件中,它降到了4,所以我假设Python主模式以某种方式覆盖了它。我知道我可以将python缩进设置为4,但这会导致插入空格(这与我们的代码样式指南背道而驰)
如何使标签宽度为4个字符
更新:
我也尝试过这个,但没有任何效果:
(add-hook 'python-mode-hook
(setq indent-tabs-mode t)
(setq tab-width 4)
)
<>我有同样的问题,但是C++文件。最后为我做的是我的
.emacs
中的以下内容
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(c-basic-offset 4 t)
)
当然,我是从代码的C++模式区域中设置的,定制Emacs 菜单,但结果就是这样。我想看看python模式是否有类似的功能<代码>py基本偏移量还是什么?浏览pyton的模式设置。钩子的正确形式如下:
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq tab-width 4)))
您需要将命令语句放入函数(lambda)中。
py basic offset
不存在。没有帮助,抱歉。更新了我的问题。这解决了我原来的问题,但引入了一个新问题;现在,它会在应该只标记一次的位置标记两次。然而,pt提供了解决方案。tab是一个永无止境的难题。我建议使用:“(setq缩进制表符模式nil)”同意:当你使用制表符时,你正在进入一个痛苦的世界。@HongboZhu在CHANGELOG或Make文件中工作不太好。python缩进
从24.3开始就过时了。改用python缩进偏移量
。因为无法理解的原因。为什么emacs不能允许正确使用制表符进行缩进并自动使用空格进行对齐?
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq tab-width 4)))
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq tab-width 4)
(setq python-indent-offset 4)))