2024-04-27 09:04:28 发布
网友
我和一些使用vim的Python程序员一起工作,他们使用制表符缩进Python。我将Emacs与python模式结合使用,后者将tab键转换为4个空格(应该是这样,但没关系)。因为我不想惹麻烦,所以我想在.emacs文件(或其他文件)中添加一些内容,以便使用真正的制表符缩进,而不是将它们转换为空格。怎样?
很抱歉,如果这是其他地方的答案:我没有找到它。
可以使用python-mode-hook在~/.emacs中定义特定于Python的设置。要使用制表符缩进,可以使用:
python-mode-hook
~/.emacs
(add-hook 'python-mode-hook (lambda () (setq indent-tabs-mode t)))
由于python.el默认情况下只缩进4列,因此当缩进是8的倍数时,上面将使用制表符,并且制表符后跟空格表示其他缩进。
python.el
如果需要为每个缩进级别使用单个选项卡,还需要将python-indent设置为8。然后,您可以将tab-width设置为您希望看到选项卡显示为的任何宽度。
python-indent
tab-width
(add-hook 'python-mode-hook (lambda () (setq indent-tabs-mode t) (setq python-indent 8) (setq tab-width 4)))
可能需要在python模式下执行此操作:
(setq indent-tabs-mode t)
正如文章的评论员正确地说的那样,使用制表符缩进是一个坏主意,使用非标准的制表符宽度更糟。尽管如此,如果你想合作,有时你别无选择。
根据同事对vim的具体配置,您可能需要同时打开indent-tabs-mode并将tab-width设置为4。
indent-tabs-mode
一个方便的方法是使用file local variables,这样做不会扰乱您的其他工作。在每个违规文件的末尾,写下:
# Local Variables: # indent-tabs-mode: 1 # tab-width: 4 # End:
(您必须告诉Emacsindent-tabs-mode是一个安全的局部变量。)
可以使用
python-mode-hook
在~/.emacs
中定义特定于Python的设置。要使用制表符缩进,可以使用:由于
python.el
默认情况下只缩进4列,因此当缩进是8的倍数时,上面将使用制表符,并且制表符后跟空格表示其他缩进。如果需要为每个缩进级别使用单个选项卡,还需要将
python-indent
设置为8。然后,您可以将tab-width
设置为您希望看到选项卡显示为的任何宽度。可能需要在python模式下执行此操作:
正如文章的评论员正确地说的那样,使用制表符缩进是一个坏主意,使用非标准的制表符宽度更糟。尽管如此,如果你想合作,有时你别无选择。
根据同事对vim的具体配置,您可能需要同时打开
indent-tabs-mode
并将tab-width
设置为4。一个方便的方法是使用file local variables,这样做不会扰乱您的其他工作。在每个违规文件的末尾,写下:
(您必须告诉Emacs
indent-tabs-mode
是一个安全的局部变量。)相关问题 更多 >
编程相关推荐