2009-08-08 2 views
1

저는 지금 당장 emacs를 사용해 왔으며 천천히 일을 처리하고 있습니다. 그러나 다음과 같은 기능을 구현하기에 충분한 이맥스 -lisp을 알지 못합니다.특정 파일 형식을 읽기 전용으로 열려면 emacs-lisp 함수가 필요합니다.

목록 (예 : prog-modes)을 정의하고 싶습니다. 사용하는 프로그래밍 모드의 목록이됩니다 (.c,. cpp, .h, .el, .py). 여는 파일이이 목록에 언급 된 유형 인 경우 읽기 전용으로 열어 둡니다. 그렇지 않으면 정상적으로 열리겠습니다.

길잃은 편집으로 인한 혼란을 피하기 위해 읽기 전용으로 파일을 여는 것이 더 좋지만 이맥스가 파일을 자동으로 열고 쓰기 (예 : 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