emacs에서 현재 버퍼에 대한 쓰기 권한을 수정하는 방법은 무엇입니까? 파일을 열기 전에 파일에 대한

버퍼를 죽이거나 다시 열지 않고 emacs 내부에서 파일에 대한 쓰기 권한을 변경할 수 있습니까?

때로는 파일을 열기 전에 파일에 대한 권한을 수정하는 것을 잊어 버립니다. 내부 emacs ( M-! chmod u+w filename) 에서 권한을 수정할 수 있지만 쓰기 보호 상태로 유지되고 파일 수정을 거부하는 버퍼는 업데이트되지 않습니다.

버퍼 내에서 권한을 업데이트하는 방법이 있습니까? 이것을 바로 가기에 할당 할 수 있다면 보너스 포인트!



답변

파일 모드를 변경 한 후 편집하기 전에 실행 M-x revert-buffer하여 파일을 다시로드하십시오. 파일이 쓰기 가능하면 버퍼는 더 이상 읽기 전용이 아닙니다.

또는 C-x C-q( read-only-mode)를 입력하십시오 . 버퍼가 더 이상 읽기 전용이 아닙니다. 편집하고 저장할 수도 있지만 읽기 전용 파일을 덮어 쓸지 묻는 확인 메시지가 표시됩니다.


답변

버퍼의 읽기 전용 상태를 변경하려면 C-xC-q(toggle read-only-mode)을 사용하십시오. 파일 권한을 변경하려면 dired파일의 디렉토리 ( C-xd)에서 실행 하고 파일을 검색 하여 모드를 변경 C-s하는 M데 사용할 수 있습니다.


답변

워크 플로에서 버퍼의 파일 권한을 반복적으로 변경해야하는 경우 사용자 지정 기능을 사용하면 다음과 같은 도움이됩니다.

이것은 유닉스 머신에서만 작동합니다 (시스템 명령 “chmod”실행)

(defun chmod-plus-w ()
  (interactive)
  (shell-command-to-string (concat "chmod +w " (buffer-file-name (current-buffer))))
  (revert-buffer))


답변