如何让 vim 在 tab 上插入相同数量的空格?

How to make vim insert same amount of spaces on tab?

我想按 <Tab> 换 vim 每次插入相同数量的空格。它似乎默认情况下不这样做,而是从行的开头对齐到最近的 tabstop 的倍数。

例如,假设我的 .vimrc

中有以下配置
set tabstop=4
set shiftwidth=4
set expandtab

箭头显示在输入 hi 后按 <Tab> 会发生什么。垂直线 | 表示 vim 光标的新位置。

这是目前的情况:

hi->|
1234| // Aligned to a 4 space boundary

然而,这正是我要找的:

hi--->|
123456| // Exactly 4 spaces from 'i'

在插入模式期间将制表键映射到 4 个空格:

:imap <tab> <space><space><space><space>