如何在VIM中将整个文件缩进n个空格?

如何在VIM中将整个文件缩进n个空格?,vim,Vim,我想在VIM中缩进一个包含n个空格的整个文本文件 我目前的方法是: 转到文件的开头 键入Ctrl+V 按下向下键↓ 或使用j键选择要缩进的行 Shift+I型 键入空格键n次 按Esc键 有没有一种方法可以在不使用可视模式的情况下完成此操作,并且不必手动浏览整个文件?您可以缩进一组行,如下所示: :1,44> 如果按ctrl-g键,它将显示文件的最后一行。如何: :%s/^/(you count n spaces here)/ 使用全局替换 假设要缩进四个空格,可以执行以下操作: :%

我想在VIM中缩进一个包含n个空格的整个文本文件

我目前的方法是:

  • 转到文件的开头
  • 键入Ctrl+V
  • 按下向下键↓ 或使用j键选择要缩进的行
  • Shift+I型
  • 键入空格键n次
  • 按Esc键

  • 有没有一种方法可以在不使用可视模式的情况下完成此操作,并且不必手动浏览整个文件?

    您可以缩进一组行,如下所示:

    :1,44>
    
    如果按ctrl-g键,它将显示文件的最后一行。

    如何:

    :%s/^/(you count n spaces here)/
    
    使用全局替换 假设要缩进四个空格,可以执行以下操作:

    :%s/^/    /
    
    这将有效地在每行的开头插入四个空格。调整替换表达式右侧的空格数以满足缩进需要

    使用视觉模式 或者,您可以进入正常模式,然后:

  • gg
  • 移位+V
  • SHIFT+G
  • SHIFT+>

  • 用shiftwidth的值缩进整个文件。

    A
    :在每行开始处添加两个空格的普通
    变体:

    :%norm 0i<space><space><CR>
    
    :%norm I<space><space><CR>
    

    :1,$>
    将覆盖整个文件。@MichaelKristofik
    :%%>
    可以。但是,这会缩进文件,而不是按
    n
    空格缩进。e、 g.我想将整个文件“缩进”7个空格(n=7),这(
    )行吗?
    :set sw=4
    (对于任何值)设置
    将缩进的空格数。它还设置了正常代码>>或
    @CorleyBrigman依赖于
    选项卡
    选项的值。这里OP需要
    n
    空格。使用
    操作,可以插入
    。这是正确的。。。我打错了,您需要的选项是
    :set expandtab
    ,它将用空格替换所有选项卡,包括它本身应该放入的空格。我认为将要插入的空格数放在
    i
    命令前面会更容易。(
    :%norm 02i
    )@FDinoff,我同意,但我采用了更直观的方法。