它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?
当前回答
:line_num_start,line_num_end>
例如
14,21> shifts line number 14 to 21 to one tab
增加更多选项卡的“>”符号。
例如
14,21>>> for three tabs
其他回答
转到文本开头
按v进入视觉模式。使用向上/向下箭头突出显示文本。按=缩进高亮显示的所有行。
一个很大的选择是:
gg=G
它真的很快,所有东西都会缩进;-)
所有命令的主人是=G
这会缩进整个文件!
下面是一些用于在Vim或gVim中快速缩进行的简单而优雅的命令。
缩进当前行==
缩进当前行下的所有行
=G
在当前行下方缩进n行
n==
例如,在当前行下方缩进4行
4==
要缩进代码块,请转到大括号之一并使用命令
=%
这些是缩进多行的最简单但功能强大的命令。
我没有在评论中找到我使用的方法,所以我将分享它(我认为只有Vim):
按Esc键进入命令模式移动到要缩进的最后一行的第一个字符Ctrl+V开始块选择移动到要缩进的第一行的第一个字符Shift+I进入特殊插入模式键入需要缩进的空格/制表符(例如两个按Esc键,所有行中将显示空格
当您不想在vimrc中更改缩进/制表符设置或在编辑时记住它们来更改时,这非常有用。
为了取消缩进,我使用相同的Ctrl+V块选择来选择空间,然后用D删除它。
可以使用norm i命令在行的开头插入给定的文本。要在第2-10行前插入10个空格:
:2,10norm 10i
请记住,命令末尾必须有一个空格字符——这将是我们想要插入的字符。我们还可以用任何其他文本缩进一行,例如用五个下划线字符缩进文件中的每一行:
:%norm 5i_
或者更花哨的东西:
:%norm 2i[ ]
更实际的例子是用#字符注释Bash/Python/etc代码:
:1,20norm i#
要重新缩进,请使用x而不是i。例如,要从每行中删除前5个字符:
:%norm 5x