Я понятия не имею, как я внезапно получил символы ^ I в моем файле исходного кода.

Везде, где у меня был пробел (но только в начале строки), он отображается как ^ I. Это делает мой код очень нечитаемым.

Я использую Vim в качестве редактора.

Может кто-нибудь сказать мне, что могло привести к этому, и как я могу заменить их снова невидимым пробелом?

2 ответа2

3

^I (Ctrl-I) - представление символа табуляции (9 в ASCII). Обычно Vim отображает символы табуляции по количеству пробелов, как указано в опции tabstop . Однако при настройке параметра list отображаются различные непечатаемые символы, и одним из его эффектов является отображение табуляции как управляющего символа. Чтобы проверить, установлена ли эта опция, вы можете запустить :set list?set listchars?).

Чтобы заменить символы табуляции пробелами, запустите :%s/^I/ /g . Управляющий символ ^I можно получить, набрав Ctrl - V, а затем Tab .

0

Их можно заменить регулярным выражением в VIM.

:%s/[\x09]/ /gc

проверьте, есть ли запись

set list

в файле .vimrc. Намек взят из принятого ответа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .