Я изучаю программирование на Си.
Я столкнулся с проблемой конфигурации vim.
Ниже приведены настройки vim, написанные на .vimrc:
set nu
set shiftwidth=4
set tabstop=4
set softtabstop=8
set autoindent
set cindent
set smartindent
syntax on
InЧтобы увидеть, где находятся вкладки, я использовал :set list
:
#include <stdio.h>$
int main(void)$
{$
^Iprintf("ab\n");$
^Ireturn 0;$
}$
Теперь в строке 4 в режиме вставки я хочу посмотреть, сколько вкладок я могу получить после нажатия клавиши Tab в разных местах..
Вот результат:
Когда я бью Tab после n
, я получаю ^Iprin^I^Itf("ab\n");$
.
Когда я бью Tab после \n
, я получаю ^Iprintf("ab\n^I^I");$
.
Мне вполне понятны две вышеупомянутые ситуации.
Но когда я ударю Tab после a
, я получаю ^Iprintf("a^Ib\n");$
.
Это за пределами моего понимания.
Кто-нибудь может объяснить, почему заменена только одна вкладка?
Я думал, что должно быть двепотому что softtabstop
занимает 8 пробелов, что в два раза больше tabstop
(4).