특정 모드에서 저장시 외부 스크립트를 실행 하시겠습니까?


12

에있을 때 org-modeEmacs C-x s가 저장하려고 할 때마다 작성한 bash 스크립트를 실행하기를 원합니다 . 스크립트는 내가 저장 한 파일을 Raspberry Pi에 자동으로 동기화합니다. 파일 이름을 인수로 예상합니다.

org저장할 때 파일 에서 외부 스크립트를 실행하도록 Emacs에 지시하려면 어떻게해야 합니까?


4
당신이 사용할 수있는 after-save-hook스크립트 실행
이크발 안사리

이것이 우리의 첫 이민자입니까? :-)
Malabarba

@ Malabarba 이것은 내가 본 두 번째입니다 :)
Kaushal Modi

답변:


11

다음은 orgbash 스크립트를 기반으로 파일을 Raspberry Pi 에 동기화 할 수 있도록 수정할 수있는 간단한 설정입니다 (물론 Pi 나 스크립트가 없기 때문에 추정되지 않았습니다). 스크립트 이름으로 함수를 수정하십시오. shell-command-to-string명령 행 출력을 어딘가에 배치하는 데 사용 됩니다. shell-command걱정하지 않아도 사용할 수도 있습니다 .

그런 다음 after-save-hook@IqbalAnsari의 의견에서 제안한대로에 추가 할 수 있습니다 .

(defun sync-to-pi ()
  "Sync org file to Raspberry Pi with external script."
  (when (eq major-mode 'org-mode)
    (shell-command-to-string (format "your-script-name %s" buffer-file-name))))

(add-hook 'after-save-hook #'sync-to-pi)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.