使用Vim重新缩进Python代码

5

我需要用for循环来封装一段代码。在Python中,我需要注意缩进并将制表符的数量增加一。有没有一种简单的方法在Vim中完成这个任务?

5个回答

3
尝试按下V键进入可视化行模式,选择要缩进的区域,然后按下>。除了V键之外,其他动作也可以使用。

@Ram,V}>是一个方便的动作工具。}将向下移动一个块,而>则缩进整个选择区域。 - David Cain
此外,您可以使用=ip在代码“段落”内自动缩进,或者使用>ip将段落缩进一次。在Vim中有许多处理缩进的方法。尝试浏览帮助页面,您肯定会发现更多技巧。 - David Cain

3
您可以使用 <> 手动调整缩进,== 会自动缩进代码块。
此外,使用 Vim 缩进 Python 可以帮助您获得更高级的自动缩进功能。
最后,]p 是插入一个已复制的代码块并将其缩进到正确级别的方便方式(尝试复制您的代码块,将光标移动到 for 循环的开头,然后按下 ]p)。

1
使用this来缩进或取消缩进代码。

0

除了其他优秀的答案之外,我建议将以下内容添加到您的~/.vimrc文件中:

vnoremap < <gv
vnoremap > >gv

这样做可以使你在可视模式下选择文本(按v),然后按下><时,不会退出可视模式。

以下几行代码还会让vim尝试自动缩进,这可能会很有用:

set autoindent
set smartindent

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

你可以通过按键来开启/关闭粘贴模式,映射如下:

set pastetoggle=<F6>

现在按下 F6 将切换粘贴模式,允许您粘贴文本而不会被自动缩进搞乱。

0
最快的尝试方法是从你想要缩进的代码块内部使用v i p >。这会包裹Visual模式的InsideParagraph,并且>将选定的代码缩进。

1
可视模式确实很有帮助,但这绝对不是最快的方法。使用>ip命令可以在不调用可视模式的情况下完成相同的操作。 - David Cain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接