2009-08-08 21 views
1

私はしばらくの間emacsを使用していましたが、徐々に物事のハングアップを取得しています。しかし、私は次の機能を実装するのに十分なemacs-lispを知りません:特定のファイルタイプを読み取り専用で開くにはemacs-lisp関数が必要です

私は使用するプログラミングモードのリスト(例:prog-modes)を定義したいと思います。 cpp、.h、.el、.py)。開いているファイルがこのリストに記載されているタイプのものであれば、そのファイルを読み取り専用で開くことができます。それ以外の場合は、正常に開くようにします。

迷った編集で混乱を避けるために私のファイルを読み込み専用に開く方が好きですが、emacsがファイルを自動オープンして書き込もうとすると苛立ってしまいます(例えばorg-modeなど)。そのような機能のために。

答えて

8

このようなものは、あなたのニーズを満たすものでなければなりません。明らかにメジャーモードのリストをカスタマイズする:

(defun make-some-files-read-only() 
    "when file opened is of a certain mode, make it read only" 
    (when (memq major-mode '(c++-mode tcl-mode text-mode)) 
    (toggle-read-only 1))) 

(add-hook 'find-file-hooks 'make-some-files-read-only) 
+0

ありがとう! これは機能します。 – vedang

関連する問題