Недавно я попытался переключиться с python-mode.el
на python.el
для редактирования файлов python в emacs, обнаружил, что опыт немного чуждо и непродуктивен, и ускользнул назад. Я использую python-mode.el
для чего-то вроде десяти лет, поэтому, возможно, я немного настроен по-моему. Мне было бы интересно услышать от всех, кто тщательно оценил эти два режима, в частности плюсы и минусы, которые они воспринимают каждого и как их работа обычно взаимодействует с особенностями, характерными для python.el
.
Два основных вопроса для меня с python.el
были
-
Каждый буфер, посещающий файл python, получает свою собственную уступающую интерактивную оболочку python. Я привык делать разработку в одной интерактивной оболочке и обмениваться данными между файлами python. (Может показаться, что это плохая практика с точки зрения программного обеспечения, но я обычно работаю с огромными наборами данных, которые требуют времени для загрузки в память.)
-
Поддержка скелетного режима в python.el, которая казалась абсолютно безвозмездной (синтаксис python делает такую автоматизацию ненужной) и плохо спроектирован (например, он не знает выражений генератора цикла "
for
" или "<expr 1> if <cond> else <expr 2>
", поэтому вам нужно вернуться и удалить двоеточия, которые он вставляет, после того, как вы настаиваете на том, что вы вводите предложения выражения в минибуфере.) Я не мог понять, как отключить его. Была переменнаяpython.el
, которая утверждала, что контролирует это, но она, похоже, не работает. Возможно, что версияpython.el
, которую я использовал, была сломана (она появилась из пакета debian emacs-snapshot), поэтому, если кто-нибудь знает о ее обновленной версии, я хотел бы услышать об этом. (У меня была такая же проблема с версией в CVS emacs примерно две недели назад.)