它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?


当前回答

5==将从当前光标位置缩进五行。

因此,您可以在==之前键入任何数字。它将缩进行数。这是命令模式。

=G将从上到下缩进整个文件。

其他回答

Vim UI的优点在于其一致性。编辑命令由命令和光标移动组成。光标移动始终相同:

H到屏幕顶部,L到底部,M到中间nG到第n行,G单独到文件底部,gg到顶部n移动到下一个搜索匹配,n移动到上一个}至段落末尾%到下一个匹配的括号,括号或标记类型进入下一行“x标记x,其中x是字母或其他字母”。还有很多,包括单词的w和w、行尖的$或0等,这些都不适用于这里,因为它们不是行移动。

因此,为了使用vim,您必须学会移动光标并记住一系列命令,例如,>to indent(和<to“outdent”)。

因此,要将光标位置的行缩进到屏幕顶部,请执行>H,>G以缩进到文件底部。

如果不是键入>H,而是键入dH,则删除相同的行块,cH替换它,等等。

某些光标移动更适合特定命令。特别是,%命令可以方便地缩进整个HTML或XML块。如果文件突出显示了语法(:syn on),则在标记的文本中设置光标(例如,在<div>的“i”中,输入>%将缩进到最后的</div>标记。

这就是Vim的工作原理:只需要记住光标移动和命令,以及如何混合它们。因此,我对这个问题的回答是:如果缩进被解释为移动行,=如果缩进被理解为在漂亮的打印中,那么“转到要缩进的行块的一端,然后键入>命令并移动到块的另一端”。

更多视觉人的按键:

进入命令模式:逃跑移动到要缩进的区域的开头:hjkl公司↑↓←→启动块:v移动到要缩进的区域末端:hjkl公司↑↓←→(可选)键入所需的缩进级别数0..9在块上执行缩进:>

如何将vi中突出显示的代码立即缩进许多空格:

选项1:使用Visual block模式将vi中的代码块缩进三个空格:

选择要缩进的代码块。在正常模式下使用Ctrl+V并向下箭头选择文本。选中时,输入:向选定文本块发出命令。命令行中将显示以下内容::“<,”>要将缩进设置为三个空格,请键入le 3并按enter键。这是出现的::“<,”>le 3所选文本立即缩进到三个空格。

选项2:使用Visual Line模式将vi中的代码块缩进三个空格:

在vi中打开文件。将光标放在一些代码上处于正常模式并按下以下键:Vjjj:le 3你所做的解释:V表示开始选择文本。jjjj箭头向下四行,突出显示四行。:告诉vi您将为高亮显示的文本输入说明。le 3表示缩进突出显示的文本三行。所选代码立即增加或减少到三个空格缩进。

选项3:使用视觉块模式和特殊插入模式来增加缩进:

在vi中打开文件。将光标放在一些代码上在正常模式下,按下以下键:Ctrl+V组合键朝觐(按空格键五次)Esc公司Shift+i键所有突出显示的文本将缩进五个空格。

可以使用norm i命令在行的开头插入给定的文本。要在第2-10行前插入10个空格:

:2,10norm 10i 

请记住,命令末尾必须有一个空格字符——这将是我们想要插入的字符。我们还可以用任何其他文本缩进一行,例如用五个下划线字符缩进文件中的每一行:

:%norm 5i_

或者更花哨的东西:

:%norm 2i[ ]

更实际的例子是用#字符注释Bash/Python/etc代码:

:1,20norm i#

要重新缩进,请使用x而不是i。例如,要从每行中删除前5个字符:

:%norm 5x

5==将从当前光标位置缩进五行。

因此,您可以在==之前键入任何数字。它将缩进行数。这是命令模式。

=G将从上到下缩进整个文件。