2012-12-24 2 views
4

내가 이맥스를 사용할 때, 나는 자동 들여 쓰기를 바꾸고 사용자 들여 쓰기 체계를 사용한다 (공백만을 사용하여 이전 줄의 들여 쓰기를 유지한다).펄 모드 emacs에서 자동 들여 쓰기를 끄기

C 모드에서는 전기 모드를 끄기 위해 C-c C-l을 방금 사용했습니다.

그러나 펄 모드에서 나는 동일한 것을 달성하는 방법을 모르겠습니다.

http://mirror.fraunhofer.de/CPAN/misc/emacs/perl-mode.el에서 보자. 나는

(defvar perl-mode-map() 
    "Keymap used in Perl mode.") 
(if perl-mode-map 
    () 
    (setq perl-mode-map (make-sparse-keymap)) 
    (define-key perl-mode-map "{" 'electric-perl-terminator) 
    (define-key perl-mode-map "}" 'electric-perl-terminator) 
    (define-key perl-mode-map ";" 'electric-perl-terminator) 
    ... 

그래서 내가 M-x set-variable perl-mode-map을 시도 볼 수 있지만 난 단지 [No match]를 얻을.

내 perl-mode.el이 사전 컴파일 되었기 때문에 발생합니까? M-x find-function perl-mode을 시도하면 perl-mode.el을 찾을 수 없다는 불평을합니다. 나는 perl-mode.elc 파일을 가지고있다.

cygwin의 콘솔에서 emacs를 실행하고 있습니다.

답변

0

.

스크래치 버퍼에서 (setq perl-mode-map (make-sparse-keymap))을 실행하면 펄 모드를 다시로드하면 전기 들여 쓰기가 비활성화됩니다.

답장을 보내 주셔서 감사합니다.

편집 : 작동하려면 펄 모드를 다시로드하는 것이 중요합니다.

2

추가 다음 코드 구성 파일 (이맥스 또는 ~/.emacs.d/init.el) 내 그치 일반 변수와 사용자 옵션 변수 이맥스에 있었다 몰랐

(defun perl-mode-disable-auto-indent() 
    (local-unset-key (kbd "{")) 
    (local-unset-key (kbd "}")) 
    (local-unset-key (kbd ";")) 
    (local-unset-key (kbd ":"))) 

(add-hook 'perl-mode-hook 'perl-mode-disable-auto-indent) 
0

electric-indent-modeperl-mode으로 설정하면됩니다. 나는 당신이 유사한 게시물 here, here을 찾을 수 있습니다 내 ~/.emacs.d/init.el

(defun perl-mode-disable-auto-indent() 
    (electric-indent-mode -1)) 
(add-hook 'perl-mode-hook 'perl-mode-disable-auto-indent) 

에 다음과 here

추가 할
관련 문제