【发布时间】:2012-07-22 16:54:11
【问题描述】:
我需要用 for 循环括起一段代码。由于这是 Python,我需要注意缩进并将制表符的数量加一。在 Vim 中有什么简单的方法吗?
【问题讨论】:
我需要用 for 循环括起一段代码。由于这是 Python,我需要注意缩进并将制表符的数量加一。在 Vim 中有什么简单的方法吗?
【问题讨论】:
您可以使用 和 > 手动调整缩进,== 会自动缩进一个块代码。
另外,Indenting Python with Vim 可能有助于获得一些更高级的自动缩进。
最后,]p 是插入被拉出的代码块的便捷方法,将其缩进到适当的级别(尝试拉出块,将光标移动到for 循环的开始,然后按 ]p)。
【讨论】:
尝试按V 进行视觉线条模式,选择要缩进的区域,然后按>。 V以外的其他动作也不错。
【讨论】:
V}> 也是一个方便的动作。 } 将下降一个块,> 缩进整个选择。
=ip 在代码的“段落”内自动缩进,或使用>ip 将段落缩进一次。在 Vim 中有很多处理缩进的方法。尝试浏览帮助页面,您无疑会找到更多。
使用this 缩进或缩进代码。
【讨论】:
您可以尝试的最快方法是 v i p > 从您想要的代码块内部缩进。将 Visual 模式 Inside Paragraph 包装起来,> 缩进所选代码。
【讨论】:
>ip 将在不调用可视模式的情况下完成同样的事情。
除了这里的其他优秀答案,我建议将其添加到您的 ~/.vimrc 文件中:
vnoremap < <gv
vnoremap > >gv
这将使您在可视模式下选择文本(按 v)然后按 > 或 t 让你退出视觉模式。
以下几行也将使 vim 尝试为您自动缩进行,这可能很有用:
set autoindent
set smartindent
虽然您需要在粘贴文本时禁用此功能,否则它会尝试缩进。
您可以使用按键打开/关闭粘贴模式,映射如下:
set pastetoggle=<F6>
现在 F6 将切换粘贴模式,让您在粘贴文本时不会自动缩进。
【讨论】: