用VIM缩进几行?


42

例如,我正在编辑以下代码:

<html>
<body>
<script>
    var a = 10;
    a += 100;
</script>
</body>
</html>

现在我需要缩进脚本行:

<html>
<body>
    <script>
        var a = 10;
        a += 100;
    </script>
</body>
</html>

如何在不将光标移到每一行的开头并按Tab的情况下执行此操作?


在命令模式下:gg=G
约翰·卫斯理亲王

Answers:


71

V切换到VISUAL LINE模式,然后按突出显示要缩进的线条j。然后按>缩进它们。因此完整的命令将是Vjjj>

或者,将光标放在<script>标签上并用于4>>缩进四行。


1
另外,当更改多个缩进级别时,。极其有用(它将移动具有视觉,标记或[count]的“块”,如上述4 >>)。
Pif 2012年

另外,如果您的语法文件可以进行标签匹配,则可以将光标放在单词“脚本”上,然后按v键进入可视模式,按%转到匹配的标签,按>缩进或=根据语法自动缩进,所以总的命令将是v%的>或v(%)=

这也适用于按字符显示的可视模式(小写v),键入起来比较容易。所以vjj>
詹姆斯·斯克里文


10

缩进当前行下面的所有行

=G

因此,要缩进整个文件,请转到文件的开头(gg),然后缩进当前行(=G)以下的所有行

gg=G

缩进当前行

==

因此,要缩进n当前行下方的行

n==

例如,缩进当前行下方的4行

4==

这些是缩进多行的最简单命令。


8

如果是我,我会注意到有4行要缩进,放在第一行,然后键入>4>。如果要数的行太多,我将定位在最上面一行并键入mk以创建一个名为k的标记,然后将其放置在最下面一行(可能有几个屏幕距离),然后键入>'k


一个不错的提示,可以节省在线计算的时间,谢谢!
flickerfly

3

如果您尝试缩进许多行,这是一种不错的方法:

:/<script>/,/<\/script>/ >>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.