Я знаю, что этот вопрос задавался много раз, но я не нахожу решение своей проблемы, в частности, потому что я даже не могу точно определить проблему.
Вот график событий:
- открыть старый файл python (написано с python2.7) - все хорошо
- измените привязки клавиш для выполнения файлов .py с python3 вместо python2.7 - как и ожидалось, много
IndentError
s, но файл остается той же структурой / разметкой / количеством пробелов / табуляции - добавлен
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 пробела работает нормально, но вместо расширения вкладок, вложенных дальше в первую вкладку, это выглядит так вместо этого просто удаляет вкладку.
Происходят и другие странные вещи, но я не могу видеть шаблон.
Есть идеи, что происходит?