在vim中编写python:进行选项卡模拟的最佳方法是什么?

时间:2013-11-07 12:25:47

标签: python vim tabs

我总是使用vim编写perl而且我开始转换到python但是我看到有人说如果选择正确的编辑器,将选项卡转换为空格,则不需要4次命中空间。

我喜欢vim而不愿意搬家。我从5年前看过这个SO线程,想知道这是否仍然是实现它的最佳方式,还是有更简单/更新的方式?

Tab key == 4 spaces and auto-indent after curly braces in Vim

2 个答案:

答案 0 :(得分:4)

根据我的经验,Python中选项卡和空格的最佳设置是:

:set tabstop=8 shiftwidth=4 softtabstop=4 expandtab shiftround

说明:

由于您根本不会使用真正的制表符,我发现明确将其保留为传统的8列宽tabstop=8。您可以将此设置保留,因为它仍然是默认设置。

shiftwidth=4 softtabstop=4 以及 expandtab 可以提供一致的标签体验插入模式以及缩进命令,如><。它们确保您可以使用tab键缩进,但Vim将始终使用 4个空格来实现缩进。

最后,shiftround是可选的:每当你落在某个奇数列上时,比如第11列,任何缩进操作都会转到下一个“tabstop”。缩进更多将转到第13列(过去第12列:第三个“tabstop”),并且outdenting将转到第9列(过去的第8列:第二个“tabstop”)

就像@elias说的那样,如果你想让这些设置永久设置在你的vimrc中:autocmd

autocmd FileType python setlocal ts=8 sw=4 sts=4 et sr

答案 1 :(得分:0)

我只是使用:

set sw=4 ts=4 expandtab

你可以让它只适用于Python:

au FileType python setlocal tabstop=4 shiftwidth=4 expandtab