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


当前回答

对于mac,

使用vim打开文件vim部署1.yml使用Shift+“v”键选择线条,然后使用“向上”或“向下”键使用Shift+'>'或Shift+'<'缩进选定的行

其他回答

假设|表示光标在Vim中的位置。如果要缩进的文本包含在代码块中,如:

int main() {
line1
line2|
line3
}

您可以执行>i{,这意味着“在(i)块({)内缩进(>)”并获得:

int main() {
    line1
    line2|
    line3
}

现在假设这些线是连续的,但在块之外,例如:

do
line2|
line3
line4
done

要缩进第2行到第4行,您可以直观地选择行并键入>。或者更快,您可以做>2j以获得:

do
    line2|
    line3
    line4
done

注意,>Nj表示从当前行缩进到下面的N行。如果要缩进的行数很大,用户可能需要几秒钟才能计算出正确的N值。为了节省宝贵的时间,您可以使用设置的relativenumber激活相对数选项(从Vim 7.3版开始提供)。

使用>命令。要缩进五行,请5>>。要标记一个行块并缩进它,Vjj>缩进三行(仅限Vim)。要缩进大括号块,请将光标放在其中一个大括号上,然后使用>%或从块内的任何位置使用>iB。

如果要复制周围的文本块,并且需要在新位置对齐块的缩进,请使用]p而不是p。这会将粘贴的块与周围的文本对齐。

此外,shiftwidth设置允许您控制缩进多少空格。

经常使用Python,我发现自己经常需要将块移动不止一次缩进。您可以通过使用任何块选择方法来执行此操作,然后只需在>之前输入要跳转的缩进数量

例如,V5j3>将缩进五行三次-如果使用四个空格进行缩进,则为12个空格。

对于C缩进缩进,也可以尝试此操作。Do:help=了解更多信息:

={

这将自动缩进当前代码块。

或者只是:

==

自动缩进当前行。

如何将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键所有突出显示的文本将缩进五个空格。