2014-11-20 2 views
13

나는이 link에서 gabrielelanaro가 제공하는 emacs-for-python을 사용하고 있습니다.파이썬 용 이맥스에서 들여 쓰기가 제대로 작동하지 않습니다.

들여 쓰기가 전혀 작동하지 않는 것 같습니다.

클래스, 함수 또는 자동 들여 쓰기가 필요한 다른 코드 블록 (예 : 등)을 만들고 Enter 키 또는 Ctrl + j을 누르면 자동으로 생성되지 않습니다. 대신 이맥스는 "산술 오류"라고 말합니다.

.py 파일의 어느 곳에서나 Tab을 누르면 발생하지 않습니다. 다시 말하지만, Tab을 누를 때마다 "산술 오류"가 발생합니다.

또한 수동으로 공백을 사용하여 코드를 들여 쓰면 해당 공백을 지울 수 없습니다! 이러한 들여 쓰기를 백 스페이스로하면 "산술 오류"가 발생합니다.

이 문제는 일반 Python AC 모드를 사용할 때 나타납니다.

이맥스 : GNU 이맥스 24.3.1 (x86_64에-PC-리눅스 GNU, 3.10.7 GTK + 버전) lamiak에 2014년 3월 7일의 , 데비안에 의해 수정

+0

[this] (https://github.com/gabrielelanaro/emacs-for-python/issues/118)와 관련된 문제 일 수 있습니까? 구성을 모른 채 말하기가 어렵습니다. – vikramls

+0

@vikramls 어떻게 구성을 제공 할 수 있습니까? 나는 이맥스에 새로운 사람이다. –

+0

당신이 설치 한 다른 꾸러미가 무엇을 의미합니까? 당신은 init.el 처리 (emacs -q)없이 이맥스를 실행할 수 있고 선택적으로 꾸러미를 활성화 할 수 있습니까? 내가 연결 한 문제가 도움이 되었습니까? – vikramls

답변

19

python-indent-offset의 값을 확인하십시오. 값이 0이면 M-x set-variable RET python-indent-offset RET 4 RET으로 변경하십시오.

이맥스는 파이썬 파일을 열 때 사용 된 오프셋을 추측합니다. 혼란 스러울 수도 있고 심하게 형식화 된 파이썬 파일의 경우 해당 변수를 0으로 설정할 수도 있습니다. 이것이 실제로 문제가된다면, M-x report-emacs-bug과 파이썬 파일의 텍스트를 사용하여 버그 리포트를 제출하면 자동 감지가 수정 될 수 있습니다.

+0

이 많이 발생했습니다.이 정시 답변에 감사드립니다. – sunny

1

당신은 관련 라인을 주석 수 init.el에서 자동 완성 하시겠습니까?

; (add-to-list 'load-path "~/.emacs.d/auto-complete-1.3.1") 
; (require 'auto-complete) 
; (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") 
; (require 'auto-complete-config) 
; (ac-config-default) 
; (global-auto-complete-mode t) 
+0

'Alt X'를 사용하여 버퍼를 저장하고 평가했습니다. 다시 시작된 이맥스를 열고 .py 파일을 열었지만 문제가 계속 발생합니다. –

+0

epy-init.el 행을 비활성화하고 python- 이맥스와 번들 된 모드? – vikramls

+0

작동하지 않았다 : ( –

4

그것은이 버그에 관련이

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15975

내가 너무 이맥스 파일로 Jorgens 응답을 추가하고 발견하는 가장 빠른 해결 방법, 파일 당신의 이맥스의 끝에 다음을 추가

(add-hook 'python-mode-hook 
    (lambda() (setq python-indent-offset 4))) 
관련 문제