![Emacs: 버퍼의 일부를 읽기 전용으로 만들기](https://linux55.com/image/32001/Emacs%3A%20%EB%B2%84%ED%8D%BC%EC%9D%98%20%EC%9D%BC%EB%B6%80%EB%A5%BC%20%EC%9D%BD%EA%B8%B0%20%EC%A0%84%EC%9A%A9%EC%9C%BC%EB%A1%9C%20%EB%A7%8C%EB%93%A4%EA%B8%B0.png)
저는 가끔 파일을 편집하는데 emacs
, 파일의 일부는 편집하면 안 되는 문서나 기타 콘텐츠이고, 다른 부분은 자유롭게 편집하고 새 텍스트를 만들 수 있는 "재생 영역"입니다.
질문: 만들 수 있나요?부분emacs 버퍼는 읽기 전용인가요?
가장 간단한 예는 행 1-100을 읽기 전용으로 만드는 것입니다(예:). 더 복잡한 예(emacs 북마크와 유사)는 [readonly]
와 사이의 모든 텍스트를 [/readonly]
편집할 수 없게 만드는 것입니다.
나는 이것을 검색했지만 유용한 것을 찾지 못했습니다.
답변1
예, 텍스트 속성을 사용하여 버퍼의 일부를 읽기 전용으로 만들 수 있습니다. 아래 코드는 점과 마커 사이의 영역에 영향을 미치는 make-region-read-only
두 가지 새로운 명령을 정의합니다. make-region-read-write
명령이 실행될 수 있도록 코드를 .emacs 파일에 넣으세요 Meta-x.
(defun make-region-read-only (start end)
(interactive "*r")
(let ((inhibit-read-only t))
(put-text-property start end 'read-only t)))
(defun make-region-read-write (start end)
(interactive "*r")
(let ((inhibit-read-only t))
(put-text-property start end 'read-only nil)))