2012-04-22 12 views
4

Show-Parenモードを* .elファイルに対してのみ有効にするにはどうすればよいですか?* .elファイルのShow-Parenモードを有効にする方法

私は

(add-hook 'emacs-lisp-mode-hook '(lambda() 
            (show-paren-mode 1) 
            )) 

を試してみましたが、それはまだすべてのケースを表示-括弧モードを有効にします。 *scratch*バッファであっても、Show-Parenモードが有効になっています。

答えて

9

すでに述べたように、show-paren-modeはグローバルマイナーモードです。つまり、次のようなものでバッファー上でのみ実行できます。

(show-paren-mode)      ;; activate the needed timer 
(setq show-paren-mode())    ;; The timer will do nothing if this is nil 

(defun show-paren-local-mode() 
    (interactive) 
    (make-local-variable 'show-paren-mode) ;; The value of shom-paren-mode will be local to this buffer. 
    (setq show-paren-mode t)) 

(add-hook 'emacs-lisp-mode-hook 'show-paren-local-mode) 

テストされていないため、動作しない可能性があります。ドキュメントを見てもうまくいくかもしれませんが、コードを見るとうまくいくかもしれません。これは、show-paren-modeのいくつかのバージョンでのみ機能します。

+0

ありがとうございます。それは働いている! –

1

コードが正しいです。 - モードはグローバルであり、ある

(define-minor-mode show-paren-mode 
    "Toggle visualization of matching parens (Show Paren mode). 
With a prefix argument ARG, enable Show Paren mode if ARG is 
positive, and disable it otherwise. If called from Lisp, enable 
the mode if ARG is omitted or nil. 

Show Paren mode is a global minor mode. When enabled, any 
matching parenthesis is highlighted in `show-paren-style' after 
`show-paren-delay' seconds of Emacs idle time." 
    :global t :group 'paren-showing 
...) 

:global tここで重要なことです。しかし、あなたは*scratch*バッファのメジャーモードは(ほとんど無関係である)emacs-lisp-modeから派生し、モードの定義がlisp-interaction-modeであるという事実を考慮する必要がありますメジャーモードに関係なくすべてのバッファーで有効になります。

+0

しかし、テキストモードで同じ問題が発生するのはなぜですか? –

+0

これはグローバルマイナーモードです。通常の動作では、どこでもどこでも起動します。 –

+0

ああ、はい、私はソースコードの ':global t 'を見逃してしまいました。 –

4

show-paren-modeは、グローバルマイナーモードです。それは正確にどのように聞こえるかを意味します。 ほとんどの人(私も含めて)は、 マイナーモードがすべてのバッファーに役立つことを見出しているので、これは設計通りのものです。 ファイルで無効にしたいのはなぜですか?ドキュメント

表示括弧モードから

は、グローバルマイナーモードです。有効にすると、括弧に一致する は、 show-paren-style' after show-paren-delayのEmacsアイドル時間の秒数で強調表示されます。

+1

Show Parenモードは、Lispでの作業には絶対不可欠です。しかし、シンプルなテキストで作業する必要はあまりありません。したがって、通常のテキストを扱う際に強調表示されるものを追加したくないです。 –

関連する問題