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的配置文件:
- 找到你的Vim配置文件:
- Linux/macOS下一般是
~/.vimrc - Windows下一般是
%USERPROFILE%\_vimrc(比如C:\Users\你的用户名\_vimrc)
- Linux/macOS下一般是
- 用Vim或者其他编辑器打开这个文件,添加以下内容:
set autoindent set nosmartindent set nocindent - 保存并退出配置文件,下次启动Vim时设置就会自动生效了
注意事项
如果你的配置文件里之前有set smartindent或者set cindent的行,记得把它们删掉或者注释掉(在行开头加"),不然这些设置会覆盖我们刚才添加的内容。
这样设置之后,你写Python时敲完def f(x):<回车>,新行只会和def行保持相同缩进,这时候手动按Tab就能得到正确的一级缩进,再也不会出现双重缩进的问题;写C代码时也是同理,完全符合你的输入习惯~
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

