У меня есть этот код на Emacs с python-mode
Enabled:электродуговой отступа режим ломает мой код Python
def func(a):
if a:
return True
return False
Когда я двигаю курсор между return False
и def func(
код автоматически отступом, разбивая его:
def func(a):
if a:
return True
return False #Oops!
Я узнал, что это происходит из-за electric-indent-mode
, второстепенного глобального режима. Однако я попытался отключить его, но проблема остается.
Elisp код, который я использую это:
(defun disable-electric-indent()
(set (make-local-variable 'electric-indent-functions)
(list (lambda (arg) 'no-indent))))
и это, как мой python-mode-hook
выглядит:
(add-hook 'python-mode-hook
(lambda()
(flyspell-prog-mode)
(auto-complete-mode)
(nlinum-mode)
(toggle-truncate-lines t)
(setq autopair-handle-action-fns
(list 'autopair-default-handle-action 'autopair-python-triple-quote-action))
(centered-cursor-mode)
(auto-indent-mode)
(autopair-mode)
(column-marker-1 80)
(flycheck-mode)
(setq ac-auto-start 2)
(disable-electric-indent) ;; esto deberia hacer que emacs deje de romper las pelotas con el codigo en python
(jedi:setup)))
Если отключить auto-indent-mode
такое поведение прекращается (однако, я не получаю авто отступ, glol).
мой Emacs версии: GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.1) of 2013-04-29 on eric
EDIT: Я использую python
пакет (встроенный в летающий цирк поддержки Пайтона для Emacs, вы знаете) в своей версии 0.24.2
, согласно melpa. Может быть, я должен удалить его и использовать пакет python-mode
в своей версии 6.0.10?
Если вы ссылаетесь на python-mode.el, попробуйте текущую магистраль через базар, ветвь bzr lp: python-mode, resp. скачать с https://launchpad.net/python-mode –
На самом деле, это поведение исчезло, если я использую '' 'python-mode.el'''. У меня есть некоторые незначительные проблемы с этим пакетом сейчас, но ничего важного, что я не могу исправить, спасибо! (пожалуйста, ваш комментарий как ответ пожалуйста!) – shackra
Привыкнуть к 'C-j' вместо' RET' или привязать 'RET' к' newline-and-indent'. Это дает вам автоматический отступ. – lunaryorn