在Vim中缩进一组线

在Vim中缩进一组线,vim,indentation,Vim,Indentation,有没有一种方法可以在Vim中缩进所选的行,就像我们在文本编辑器中选择一组行,然后按tab键(或shift-tab键)缩进/取消缩进所选行一样 我说的是一般缩进,与代码缩进无关。您可以使用可视行模式(通过Shift+V)选择一组行,然后键入 > 还有,dedent 使用视觉模式。也可以使用X>>,其中X是要缩进的行数。例如,5>>从当前行向下缩进五行 根据您可以使用的其他答案的建议>。或者,您可以在可视模式下选择行集(使用shift+V),然后使用=,或使用==缩进当前行,从而自动正确缩进代码。我

有没有一种方法可以在Vim中缩进所选的行,就像我们在文本编辑器中选择一组行,然后按tab键(或shift-tab键)缩进/取消缩进所选行一样


我说的是一般缩进,与代码缩进无关。

您可以使用可视行模式(通过Shift+V)选择一组行,然后键入

>

还有,dedent


使用视觉模式。也可以使用X>>,其中
X
是要缩进的行数。例如,5>>从当前行向下缩进五行

根据您可以使用的其他答案的建议>。或者,您可以在可视模式下选择行集(使用shift+V),然后使用=,或使用==缩进当前行,从而自动正确缩进代码。

我使用以下映射缩进/取消缩进:

vmap <TAB> >gv
vmap <S-TAB> <gv
vmap>gv

vmap关于这个话题有一个Vim演员阵容:


我喜欢维姆石膏。它们信息丰富,观看起来也很愉快。

它不应该是“outdent”而不是“dedent”?@Vinko应该是,但不是:)outdent是向后缩进;缩进是未缩进的缩进。也许它真的应该取消缩进。您不需要重新选择要缩进更多的行。只需使用点命令:>。。。将缩进四次。我相信这应该是可以接受的答案,因为Brian的解决方案尽管正确,但更难实现。@SavasVedova但这不是“”的概念所传达的含义。我就这个主题做了一个屏幕广播:由于堆栈溢出和编写代码示例,我最常做的事情之一可能重复,是
>G
,从当前位置缩进到文件末尾。我通常用Ruby编写,所以它实际上是
>G.
,因为Ruby使用两个空格缩进,所以需要四个,但是YMMV。