Я знаю, что этот вопрос задавался много раз, но я не нахожу решение своей проблемы, в частности, потому что я даже не могу точно определить проблему.
Вот график событий:
- открыть старый файл python (написано с python2.7) - все хорошо
- измените привязки клавиш для выполнения файлов .py с python3 вместо python2.7 - как и ожидалось, много
IndentErrors, но файл по-прежнему такой же структуры / макета / количества пробелов / табуляций - добавлен
expandtabв мой .vimrc - большеIndentErrorнет необходимости исправлять несоответствия, ноIndentErrorповсюду новые, потому что структура моего исходного кода теперь совершенно не в порядке. - Я удаляю
expandtabиз моего .vimrc, и я все еще получаю то же самое из исходного кода, даже если я убиваю сессию, довольно iTerm, вытаскиваю исходный код из github ... ПОЧЕМУ !?
Просто чтобы быть ясным, есть только две вещи, которые были изменены в моем vimrc за последние несколько месяцев, и обе изменения были сделаны сегодня утром. Первым было переназначение, <F9>чтобы выдать команду оболочки для python3 вместо 2.7, которая НЕ влияла на структуру моего исходного кода. Вторым изменением было добавление, expandtabкоторое все испортило ... удаление expandtabне возвращает мой опыт vim к тому, что был до его добавления.
Структурные изменения в моем источнике являются полуоднородными, поэтому позвольте мне попытаться объяснить, что на самом деле происходит.
Как раньше выглядело:
class GUI(): def __init__(self): suite of code теперь выглядит так:
class GUI(): def __init__(self): suite of code и так по всем направлениям для того, что похоже на все вложенные наборы кода ... другими словами, первое расширение вкладок на 4 пробела работает нормально, но вместо расширения вкладок, вложенных дальше в первую вкладку, это выглядит так вместо этого просто удаляет вкладку.
Происходят и другие странные вещи, но я не могу видеть шаблон.
Есть идеи, что происходит?
Похоже, ваш первый отступ был четырьмя пробелами, а ваш второй отступ был табуляцией, код для которого был написан для
tabstop, равного 8. Vim отображает или расширяет, предполагая, чтоtabstop = 4. Есть ли у вас исходный источник до того, как вы отредактировали файлы с неверными настройками vim?