这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战vim
Vim
针对空格提供了细粒度的配置项,一共有 4
项:markdown
tabstop
:指定一个 tab
字符的宽度,缩写为 ts
。expandtab
:激活该项会让空格代替 tab
字符,禁用该项须要使用 noexpandtab
。softtabstop
:指明用多少个空格来代替 tab
字符,缩写为 sts
。shiftwidth
:指明在普通模式下用缩进命令插入或删除的空格数量,缩写为 sw
。默认设置oop
ts=8 sts=0 sw=8 noexpandtab
Vim
中默认设置用一个制表符 \t
来表示 tab
键,不使用空格替换8
列<
或者 >
调整缩进时,至关于删除和增长制表符ts=8 sts=0 sw=8 expandtabpost
expandtab
选项Vim
会用 8
个空格代替制表符<
或者 >
调整缩进时,一次性减小或添加 8
个空格ts=8 sts=8 sw=8 expandtabspa
softtabstop
设置为 8
,此时在插入模式中退格键能够一次性删除 8
个空格shiftwidth
选项softtabstop
须要与 shiftwidth
相等,这样在插入模式下使用 tab
和退格键时的行为就与在普通模式下使用 <
和 >
调整缩进的行为一致了。ts=8 sts=4 sw=4 expandtabcode
expandtab
选项,全部插入的制表符都会用空格代替。softtabstop
的设置,使用 tab
和退格键都是 4
个空格。4
个空格,这是由 shiftwidth
决定的。\t
制表符,该符号会占据 8
个列宽。ts=8 sts=4 sw=4 noexpandtaborm
noexpandtab
将不会用 tab
键代替空格。softtabstop
设置为 4
,它优先于 tabstop
。因此在插入模式下咱们键入 tab
,首先将会输入 4
个空格,只有再按一次 tab
,才会删除原先输入的 4
个空格,用一个占据 8
个列宽的制表符替换它。shiftwidth
设置为 4
,因此使用缩进命令时的行为与插入模式中相似。ts=4 sts=4 sw=4 noexpandtabip
tabstop
到 4
,能够看到一个制表符占据 4
个列宽。tab
键和退格键、在普通模式使用缩进命令,都会对制表符进行操做。同时设置 ts = sts = swget
tabstop
等于 softtabstop
。softtabstop
等于 shiftwidth
。完成于 2019.7.4
it