변경 사항을 자동으로 자동 수락하도록 특정 파일을 설정할 수 있습니까?


9

즉, Emacs가 파일이 디스크에서 변경되었음을 알리고 변경을 수락할지 여부를 묻는 메시지를 표시하지 않도록 특정 파일을 지정할 수 있습니까? 전 세계적으로이 작업을 수행하고 싶지 않습니다. 내가 알고있는 파일이 Emacs 외부에서 자주 변경 될 것입니다 (특히, 달력 관련 조직 파일).

답변:


8

M-x auto-revert-mode( manual )을 사용 하여 특정 버퍼에 대해이 작업을 수행 할 수 있습니다 . 파일 버퍼의 경우 auto-revert-interval변경 사항 이 있는지 매 초 마다 (기본값은 5) 확인하고 디스크에서 자동으로 버퍼를 업데이트합니다.

제목에 "특정 파일"이라고 표시되어 있고 질문 본문에 파일 형식 (org 파일)이 언급되어 있습니다. 상황에 따라이 모드를 설정하여 원하는 효과를 지속적으로 얻을 수있는 몇 가지 방법이 있습니다. 이전 방법은 특정 사용 사례에 적용되는 경우 더 깨끗하고 효율적입니다.

특정 유형의 모든 파일에 대해 이것이 필요하다는 것을 알고 있다면 init 설정에 모드 후크를 추가하십시오.

(add-hook 'org-mode-hook (lambda () (auto-revert-mode 1)))

특정 디렉토리의 모든 항목에 대해 원하는 경우 관련 위치의 .dir-locals.el 에 설정하여 로컬 설정 파일을 무시하십시오 (해당되는 경우). 이 예제는 동일한 디렉토리 (및 하위 디렉토리)에있는 파일의 모든 조직 모드 버퍼에 적용됩니다. M-x add-dir-local-variableEmacs가 자동으로이를 생성하고 저장하도록 실행할 수도 있습니다 .

(
  (org-mode . ((auto-revert-mode . 1)))
 )

위의 두 가지 방법 중 어느 것도 잘 작동하지 않으면 각 파일에 설정된 파일 로컬 변수를 고려 하십시오. 이들 중 하나를 설정하는 가장 짧은 가장 일반적인 방법은 대상 파일의 첫 번째 행에 다음을 포함시키는 것입니다.

-*- eval: (auto-revert-mode 1); -*-

소스 파일에서 텍스트는 주석 구분 기호 (//, # 등) 뒤에 올 수 있습니다. M-x add-file-local-variable-proplineEmacs가 자동으로 또는 M-x add-file-local-variable맨 대신 파일의 맨 아래를 사용하는 형식 으로이를 생성하도록 실행할 수 있습니다 .

다른 사람과 파일을 공유하지 않는 경우에만이 방법을 사용하십시오. 로부터 GNU 설명서 :

이런 식으로 보조 모드를 지정하는 것은 종종 실수입니다. 부 모드는 개별 사용자 환경 설정을 나타내며 파일을 편집 할 수있는 다른 사용자에게 환경 설정을 적용하는 것은 부적절 할 수 있습니다. 상황에 따라 마이너 모드를 자동으로 활성화하거나 비활성화하려면 주 모드 후크에서 수행하는 것이 좋습니다.


2
아닌가 (auto-revert-mode 1)대신에 작은 모드를 설정하는 정식 방법은 setq?
mbork

1
네 말이 맞아. 이 예제를 1 초 안에 정리하십시오. 감사.
Mian

1
천만에요. (AFAIU에 따르면 파일 로컬 변수는 OP의 사용 사례에 가장 적합합니다.)
mbork

1
당신이 옳을 수도 있습니다. IMO 파일 구성의 세부 사항에 따라 다릅니다. emacs 외부에서 자주 변경되는 파일이 모두 org 파일이거나 모두 같은 위치에있는 경우 (예 : Dropbox 디렉토리) 모드 또는 디렉토리 기반 접근 방식이 더 깨끗하고 쉬울 수 있습니다. 파일을 보너스로 어수선하게 만듭니다.
Mian

2
이러한 방법 모두를 연동하는가 add-file-local-variableadd-dir-local-variable.
Sean Allred

3

예. 이것을 파일 끝에 넣으십시오.

* COMMENT Config
Local Variables:
eval: (auto-revert-mode 1)
End:

다른 모드의 경우 아래 링크에 설명 된대로 사용 된 언어의 주석을 사용합니다.

참고 : 배경, 안전 정보 및 이것이 항상 좋은 생각이 아닐 수 있다는 경고는 설명서의 파일 에있는 로컬 변수를 참조하십시오 . 또한 복귀 섹션에서는 자동 복귀를위한 기본 5 초 간격을 변경하는 방법 등을 설명합니다.


이것이 반드시 끝나야합니까? .org 파일을 생성하는 스크립트가 있는데 처음에는 거의 작동하지 않는 것 같습니다.
emacsomancer

1
예, 링크를 참조하십시오. 첫 번째 솔루션에 대한 다른 답변을 참조하십시오.
mbork
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.