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


当前回答

我不知道为什么很难找到这样一个简单的答案。。。

我自己也不得不努力去了解这一点。非常简单:

在主目录下编辑.vimrc文件。添加此行凝固煤渣在文件中要适当缩进的位置。正常/命令模式类型10==(这将从当前光标位置缩进10行)=G(完整文件将正确缩进)

其他回答

按“SHIFT+v”键进入VISUAL LINE模式。使用光标键或“j”和“k”键选择要缩进的文本。要向右缩进,请按“SHIFT+点”(>字符)。要向左缩进,请按“SHIFT+逗号”(<字符)。

资料来源:https://www.fir3net.com/UNIX/General/how-do-i-tab-multiple-lines-within-vi.html

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

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

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

>}或>{从当前行缩进到下一段

<}或<{相同的取消缩进

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

当您选择一个块并使用>缩进时,它将缩进,然后返回正常模式。我的.vimrc文件中有这个:

vnoremap < <gv

vnoremap > >gv

它使您可以根据需要多次缩进所选内容。