linux中vim调整缩进与对齐无需插件,靠配置+命令组合:配置autoindent、shiftwidth等实现智能缩进;用>>/

Linux 中用 vim 调整缩进与对齐,核心靠配置 + 命令组合。不需要装插件,原生功能就能高效完成日常代码整理和文本对齐任务。
基础缩进配置让新行自动对齐
编辑 ~/.vimrc 文件,加入这几行即可启用智能缩进:
- set autoindent:新行继承上一行的缩进位置
- set shiftwidth=4:每次缩进/退格按 4 个空格操作(可改为你习惯的数值)
- set tabstop=4:Tab 键显示为 4 列宽
- set softtabstop=4:按 Tab 键时,光标移动 4 格并插入空格(非真实 Tab 字符)
保存后执行 :source ~/.vimrc 或重启 vim 即生效。之后按 Enter 换行,缩进会自动延续;按 Backspace 也能逐级退格到缩进边界。
快速手动调整多行缩进
无需进入插入模式,直接在普通模式下操作:
- >>:当前行向右缩进一次(shiftwidth 定义的空格数)
- :当前行向左退格一次
- 5>>:从当前行起,连续 5 行向右缩进
- >j 或 >2j:对当前行及向下 1 行(或 2 行)缩进
- v + j/j/k + >:可视模式选中多行后,按 > 统一缩进
同理, 系列命令用于反向缩进。对齐操作即时生效,适合临时整理结构混乱的代码段或配置文件。
按语法自动格式化整段或全文
Vim 的 = 命令能依据当前文件类型(如 python、cpp、js)调用对应缩进规则,比手动更精准:
- ==:格式化当前行(自动增减缩进,适配 if/for/def 等结构)
- 3==:格式化当前行及接下来 2 行
- gg=G:从文件头到尾,全篇重排缩进(最常用)
-
=%:光标在
{或}上时,格式化整个匹配的代码块 -
=a{:格式化包含花括号在内的整块内容(含
{和}所在行) - =i{:只格式化花括号内部,不碰括号所在行
前提是已启用 filetype 支持:在 ~/.vimrc 加入 filetype plugin indent on,并确认 :set filetype? 返回正确类型(如 filetype=python)。
缩进风格适配不同语言
默认 cindent 针对 C 类语言优化,但 Python、JSON、YAML 等需额外支持:
- Python 推荐启用 set smartindent,它能识别
:后自动缩进 - 若
=命令效果不对,先检查 :set filetype 是否识别正确;未识别可用 :set ft=python 手动指定 - 对 YAML 或 Markdown 等非编程文本,set ai(autoindent)+ 手动 >>/ 更稳妥
多数现代发行版自带完整 filetype 插件,只要配置开启,无需额外安装。











