首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新格式化Python文件,使其具有4个空格缩进

重新格式化Python文件,使其具有4个空格缩进
EN

Stack Overflow用户
提问于 2011-03-07 15:38:04
回答 7查看 21.7K关注 0票数 22

我正在编辑一个Python文件,它使用两个空格作为编程缩进--我更喜欢4个空格。在我的.vimrc中,我有以下与缩进相关的设置:

代码语言:javascript
复制
set tabstop=4                     "Indentation levels every four columns
set expandtab                     "Convert all tabs typed to spaces
set shiftwidth=4                  "Indent/outdent by four columns
set softtabstop=4

如何让Vim将现有的2个空格缩进转换为4个空格缩进?

换句话说:

代码语言:javascript
复制
if something:
  dothis()

变成了

代码语言:javascript
复制
if something:
    dothis()

当我尝试gg=G时

代码语言:javascript
复制
def check():
  for a in list:
    for  b in list2:
      check(a, b)
      while (len > MAX) :
        poll()

  while(len(thelist) > 0) :
    poll()  

  return results

变成了

代码语言:javascript
复制
def check():
    for a in list:
    for  b in list2:
    check(a, b)
    while (len > MAX) : 
        poll()

        while(len(thelist) > 0) :
            poll()

            return results
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-07 17:02:40

为了将每行开头的空格数量增加一倍(且仅限于开头):

代码语言:javascript
复制
:%s/^\s*/&&/g

替换模式中的&是匹配的模式。

它可能不会对你有任何副作用。

票数 50
EN

Stack Overflow用户

发布于 2011-03-07 15:48:01

gg=G键是重新缩进文件中所有内容的命令。如果你有其他可以重新缩进的元素,vim也会缩进这些元素,这并不总是能得到想要的效果。如果它们很难看,你必须手动清理它们。

或者,您可以使用>命令进行缩进,使用范围手动高效地遍历文件。例如,99>k会将光标下方的99行缩进一级。

票数 19
EN

Stack Overflow用户

发布于 2014-12-01 19:08:57

当前重新格式化Python、修复许多其他问题并使其符合PEP8的最好方法就是使用autopep8。请参阅此related question。因此,在vim中安装autopep8 (例如pip install autopep8)后,您需要:

代码语言:javascript
复制
:%! autopep8 -

还有一个vim-autopep8插件可以让事情变得更简单。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5217058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档