在特定模式下保存时执行外部脚本?


12

当我进入时org-mode,我希望Emacs执行我每次C-x s保存时编写的bash脚本。该脚本会自动将我保存的文件同步到Raspberry Pi。它期望文件名作为参数。

保存时,如何告诉Emacs对org文件运行外部脚本?


4
您可以after-save-hook用来运行脚本
Iqbal Ansari 2014年

这是我们的第一个移民吗?:-)
马拉巴巴2014年

@Malabarba,这是我见过的第二个:)
Kaushal Modi

Answers:


11

这是一个可以修改的简单设置,它允许您org根据bash脚本将文件同步到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)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.