在 Vim 中,有没有办法一次按 TAB 键移动多个相邻的行?

在 Vim 中,有没有办法一次按 TAB 键移动多个相邻的行?

我注意到,拖动鼠标突出显示连续 5 行,然后按下 TAB 按钮,并不能为您做到这一点...有没有办法批量使用 TAB,或者只是通常手动完成的操作?

另外,有没有办法同样取消 TAB 键(我并不是说去掉所有制表符)这 5 条相邻的行?因此,假设第 1 行制表两次,第 2 行制表四次,等等,如果您想将它们一起取消制表,那么第 1 行现在将仅制表一次,而第 2 行现在制表三次,等等?

答案1

Shift-V进入可视线模式。选择所需的线。按>

要取消选中,请执行与选择相同的操作,但要使用<

答案2

使用命令行:

  1. :输入命令
  2. .选择当前行
  3. ,[+,-]使用 + 或 - 选择前进或后退
  4. [number]行数
  5. ><缩进或取消缩进

或者

  1. :进入命令模式
  2. [num],[num]按行号选择一定范围的行
  3. ><缩进或取消缩进

例如:

:.,+5>

:.,-3<

:12,25>

答案3

有一些方法可以做到。

  • 进入可视模式v>按 添加标签,<按 删除标签
  • 按此按钮5>>将制表符添加到五行或5<<删除
  • 在第五行做个标记,ma转到第一行并执行>'a

当然,在很多情况下,你可以用>/<来替换=,以实现自动缩进

相关内容