如何在vi或vim中多次缩进一行?

Cor*_*ein 50 vi vim indentation text-indent

我已经找到了几个关于如何在vim中缩进多行的答案,我想知道如何使用单行并多次缩进它.实际上,我想要一个更短版本的以下命令:">>>>>>>>>>"(这是10个右括号"大于"的符号.)

ldo*_*dog 77

选择您想要的(通常使用vShift+ v),然后键入5>.

如果您需要修复或重复相同的选择,请使用gv.

  • 只是一个偏好的问题,我喜欢看到整行选择. (13认同)
  • 谢谢 !不知道“gv”快捷方式可以重新选择 (2认同)

mea*_*gar 12

您可以通过按v,选择当前行,然后键入5>以将当前行缩进5次,相当于按>10次​​.

  • Daenyth是对的,但这没有实际意义.你只需要处于视觉模式; 在这种情况下,行选择与否是无关紧要的. (8认同)
  • 当前行是"V",而不是"v" (2认同)

das*_*ang 10

"如何在vi中快速缩进多行"的答案之一向展示了>在视觉模式下重新映射以重新选择视觉模式的巧妙技巧.在你.vimrc...

vnoremap < <gv
vnoremap > >gv
Run Code Online (Sandbox Code Playgroud)

然后我只选择你想要缩进的一行(或多行),并根据需要多次按下适当的方向.


Tud*_*dor 8

缩进一次使用.重做上一个命令或你撤消它.


dlm*_*tei 5

来自vim帮助::help >

要将一行移动几个“shiftwidth”,请使用可视模式或 : 命令。

例如:

    Vjj4>           move three lines 4 indents to the right
    :<<<            move current line 3 indents to the left
    :>> 5           move 5 lines 2 indents to the right
    :5>>            move line 5 2 indents to the right
Run Code Online (Sandbox Code Playgroud)

或者简单地,在正常模式>>下重复该命令.