2011-02-04 2 views
5

Я просмотрел python-mode и python.el. Я использую python-mode.el. Я также использую веревку и ропьяки. Я ищу либо какую-то документацию по этим вопросам, которая помогает мне, либо другой пакет elisp или что-то еще.Редактирование Python в Emacs

Моя текущая проблема заключается в том, что код, который я давал, имеет несогласованные размеры отступов. Для некоторых блоков это будет два, для некоторых это будет 4. Я хочу очистить это, но по какой-то причине, когда я говорю emacs «исправить отступы», он просто нажимает вкладку на каждой строке в основном, что заводит код. Я хочу сохранить один и тот же относительный отступ, но стандартизировать на 4 пробела. Что-нибудь позволит мне сделать это легко?

Я предполагаю, что могу найти каждый экземпляр плохих отступов, заблокировать его и запросить-заменить 2 пробела на 4 пробела. Но это слишком сильно зависит от моей точности, замечая, где это должно быть сделано. Кроме того, много кода.

Кто-то сказал мне, что ремонтник велосипедов разрешит это, но это уже несколько лет не работает ... Любые другие предложения?

спасибо.

+3

не совсем Emacs ответ, но вы можете быть заинтересованы [в этом ответе Алекс Мартелли] (http://stackoverflow.com/questions/1024435/HOWTO-фикс-питон-вдавливания/1024489 # 1024489). –

+0

Спасибо! что, по крайней мере, решает одну проблему! –

ответ

0

Предполагая, что вы использовали комментарий Свена Марнаха для очистки базы кода, я предполагаю, что вам просто нужно сделать python-mode.el использовать стиль отступов, который вы предпочитаете?

Посмотрите на переменные py-indent-offset и py-smart-indentation (и, возможно, также py-continuation-offset и py-honor-comment-indentation). Как и нормальный indent-tabs-mode.

Вы можете настроить их (M-хcustomize-groupRETpythonRET), или добавить пользовательскую функцию python-mode-hook. например .:

(add-hook 'python-mode-hook 'my-python-mode-hook) 
(defun my-python-mode-hook() 
    (setq indent-tabs-mode nil 
     py-smart-indentation nil 
     py-indent-offset 4)) 
+0

Да, я думаю, что 4 по умолчанию, и это то, что я хочу. Речь идет скорее о том, чтобы использовать предложение Свена и иметь некоторые инструменты для более легкого перемещения блоков кода ... –

-1
(custom-set-variables 
    ... 
    '(indent-tabs-mode nil) 
    '(tab-stop-list (quote (4 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120))) 
    '(tab-width 4)) 

Очевидно, что эти глобальные настройки для режимов, которые чтят их (что питон-режим делает). Я вообще не выдумывал настройки отступов в режиме python.

0

с PY-смарт-отступы установлен в `т»

тока питон-mode.el должен это делать.

http://launchpad.net/python-mode

В случае ошибки, пожалуйста, сообщите там

Смежные вопросы