버퍼를 죽이거나 다시 열지 않고 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))