【问题标题】:Reindenting Python code in Vim在 Vim 中重新缩进 Python 代码
【发布时间】:2012-07-22 16:54:11
【问题描述】:

我需要用 for 循环括起一段代码。由于这是 Python,我需要注意缩进并将制表符的数量加一。在 Vim 中有什么简单的方法吗?

【问题讨论】:

    标签: python vim vi


    【解决方案1】:

    您可以使用 > 手动调整缩进,== 会自动缩进一个块代码。

    另外,Indenting Python with Vim 可能有助于获得一些更高级的自动缩进。

    最后,]p 是插入被拉出的代码块的便捷方法,将其缩进到适当的级别(尝试拉出块,将光标移动到for 循环的开始,然后按 ]p)。

    【讨论】:

      【解决方案2】:

      尝试按V 进行视觉线条模式,选择要缩进的区域,然后按>V以外的其他动作也不错。

      【讨论】:

      • @Ram, V}> 也是一个方便的动作。 } 将下降一个块,> 缩进整个选择。
      • 另外,您可以使用=ip 在代码的“段落”内自动缩进,或使用>ip 将段落缩进一次。在 Vim 中有很多处理缩进的方法。尝试浏览帮助页面,您无疑会找到更多。
      【解决方案3】:

      使用this 缩进或缩进代码。

      【讨论】:

        【解决方案4】:

        您可以尝试的最快方法是 v i p > 从您想要的代码块内部缩进。将 Visual 模式 Inside Paragraph 包装起来,> 缩进所选代码。

        【讨论】:

        • 可视模式确实很有帮助,但这绝对不是最快的>ip 将在不调用可视模式的情况下完成同样的事情。
        【解决方案5】:

        除了这里的其他优秀答案,我建议将其添加到您的 ~/.vimrc 文件中:

        vnoremap < <gv
        vnoremap > >gv
        

        这将使您在可视模式下选择文本(按 v)然后按 > t 让你退出视觉模式。

        以下几行也将使 vim 尝试为您自动缩进行,这可能很有用:

        set autoindent
        set smartindent
        

        虽然您需要在粘贴文本时禁用此功能,否则它会尝试缩进。

        您可以使用按键打开/关闭粘贴模式,映射如下:

        set pastetoggle=<F6>
        

        现在 F6 将切换粘贴模式,让您在粘贴文本时不会自动缩进。

        【讨论】:

          猜你喜欢
          • 2012-01-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-03
          • 1970-01-01
          • 2017-12-07
          • 2023-04-01
          • 2013-03-09
          相关资源
          最近更新 更多