You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vim配置:Python文件启用autoindent而非smartindent的方法

配置Vim启用autoindent而非smartindent/cindent

我太懂你说的这种双重缩进的糟心体验了——写Python函数或者C循环的时候,刚敲完def f(x):按回车,Vim自动给你缩进了一层,结果自己再按Tab又多了一层,代码格式直接乱掉!下面就教你怎么把Vim改成只启用autoindent,关掉那些会“自作主张”的智能缩进功能:

临时生效(当前Vim会话)

如果你只是想在当前打开的Vim里临时调整,直接在命令模式下输入这三条命令:

  • :set autoindent:开启自动缩进,新行会和上一行保持相同的缩进深度
  • :set nosmartindent:关闭smartindent,避免它在以:结尾的行后额外加缩进
  • :set nocindent:关闭cindent,这是针对C语言的智能缩进,同样会导致不必要的额外缩进

永久生效(写入Vim配置文件)

要是想让这个设置每次打开Vim都生效,就需要修改Vim的配置文件:

  1. 找到你的Vim配置文件:
    • Linux/macOS下一般是~/.vimrc
    • Windows下一般是%USERPROFILE%\_vimrc(比如C:\Users\你的用户名\_vimrc)
  2. 用Vim或者其他编辑器打开这个文件,添加以下内容:
    set autoindent
    set nosmartindent
    set nocindent
    
  3. 保存并退出配置文件,下次启动Vim时设置就会自动生效了

注意事项

如果你的配置文件里之前有set smartindent或者set cindent的行,记得把它们删掉或者注释掉(在行开头加"),不然这些设置会覆盖我们刚才添加的内容。

这样设置之后,你写Python时敲完def f(x):<回车>,新行只会和def行保持相同缩进,这时候手动按Tab就能得到正确的一级缩进,再也不会出现双重缩进的问题;写C代码时也是同理,完全符合你的输入习惯~

内容的提问来源于stack exchange,提问作者Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:28:38