有人可以用简单的语言向我解释根据文件类型更改Vim的缩进行为的最简单方法吗?例如,如果我打开一个Python文件,它应该缩进2个空格,但如果我打开一个Powershell脚本,它应该使用4个空格.
Vim非常适应标签Vs. 空间偏好.据我了解,该tabstop设置表示制表符的宽度.该shiftwidth设置指定使用<<和>>命令时递增/递减的列数,而softtabstop设置会影响Tab在插入模式下按键时要插入的空白量.如果expandtab启用,则Tab键会插入softtabstop空格字符数.而用expandtab切断时,按下Tab键会插入的最小可能数目的匹配标签+空格字符softtabstop.(如果我错了,请纠正我.)
最后一点让我想知道:有一个你不想要的实际案例shiftwidth == tabstop && tabstop == softtabstop吗?我想不出一个.就我而言,如果我可以在一个单独的任务中将所有这三个设置为相同的值,那将是最方便的.例如:
:set stab=4
Run Code Online (Sandbox Code Playgroud)
这相当于运行:
:set tabstop=4 softtabstop=4 shiftwidth=4
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议如何做到这一点?
感谢迄今为止对php,hobbs和kaiser.se的回复.我不是单独回复每个人,而是在这里更新问题.
我在上面说过,关闭expandtab后,按Tab键会插入尽可能少的匹配的tab +空格字符softtabstop.我支持这一点,但我认为我需要解释我的意思.我将通过几个例子尝试这样做.要继续,请运行:set list以便您可以看到制表符.
tabstop=4 softtabstop=2 shiftwidth=4 noexpandtab
在插入模式下,按Tab键可插入2个空格字符.按tab键的第二时间,并且代替插入2个更多的空间字符(总共4个空格字符)它替换先前的2位具有单个制表符.Tabstop设置为4,因此单个制表符的宽度与4个空格的宽度相同.
tabstop=4 softtabstop=6 shiftwidth=4 noexpandtab
在插入模式下,按Tab键可插入1个制表符加2个空格.制表符的宽度为4,因此总宽度为6,这是使用3个字符实现的.再次按Tab键可插入两个制表符,并删除先前插入的两个空格.总宽度为12,使用3个字符即可实现.
在这两个示例中,Vim都插入了与softtabstop匹配的最小可能数量的制表符+空格字符.
如果我正在使用expandtab关闭,我看不到自己想要通过将softtabstop设置为与tabstop不同的值来实现额外的粒度控制.它仍然将是有益的我能够设置tabstop,softtabstop并shiftwidth用一个命令相同的值.
tabstop=4 softtabstop=0 shiftwidth=4 …
在我的.vimrc中,我有一个两个空格的通用选项卡设置,我想在每种语言基础上覆盖它(也就是说,四个用于Python等,否则使用默认值),但我有找不到任何好的例子.
这就是我目前在第81栏上排队的原因
"====[ Make the 81st column stand out ]=========================
highlight ColorColumn ctermbg=magenta
set colorcolumn=81
Run Code Online (Sandbox Code Playgroud)
当我编辑*.html文件时,如何将其更改为不显示?