use*_*032 19 emacs elisp org-mode
由于我使用的组织模式,以追踪在Emacs我的待办事项列表,我喜欢的iPhone应用程序:MobileOrg,有了它,我可以访问我的待办事项列表一整天.
但问题出在这里:
我必须通过dropbox手动org-mobile-将我的更改从本地文件推送到手机,并通过手机移动 - 拉回手机所做的更改.
如何自动生成?就像在dotemacs文件中添加一些食谱一样.
Chr*_*eng 22
将这两行添加到dot emacs文件中:
(add-hook 'after-init-hook 'org-mobile-pull)
(add-hook 'kill-emacs-hook 'org-mobile-push)
Run Code Online (Sandbox Code Playgroud)
有了它们,它会自动提取emacs启动时的更改,并在emacs退出之前推送更改.
- 更新
如果您从未退出Emacs,此解决方案可能不适合您.所以,使用空闲计时器的另一个解
;; moble sync
(defvar org-mobile-sync-timer nil)
(defvar org-mobile-sync-idle-secs (* 60 10))
(defun org-mobile-sync ()
(interactive)
(org-mobile-pull)
(org-mobile-push))
(defun org-mobile-sync-enable ()
"enable mobile org idle sync"
(interactive)
(setq org-mobile-sync-timer
(run-with-idle-timer org-mobile-sync-idle-secs t
'org-mobile-sync)));
(defun org-mobile-sync-disable ()
"disable mobile org idle sync"
(interactive)
(cancel-timer org-mobile-sync-timer))
(org-mobile-sync-enable)
Run Code Online (Sandbox Code Playgroud)
我刚刚发现它与下面的答案相同,所以,如果您更喜欢空闲计时器解决方案,请upvote tkf的答案.
tkf*_*tkf 14
我在Emacs设置中有这样的东西,当我离开电脑时做推拉.
(defvar my-org-mobile-sync-timer nil)
(defvar my-org-mobile-sync-secs (* 60 20))
(defun my-org-mobile-sync-pull-and-push ()
(org-mobile-pull)
(org-mobile-push)
(when (fboundp 'sauron-add-event)
(sauron-add-event 'my 3 "Called org-mobile-pull and org-mobile-push")))
(defun my-org-mobile-sync-start ()
"Start automated `org-mobile-push'"
(interactive)
(setq my-org-mobile-sync-timer
(run-with-idle-timer my-org-mobile-sync-secs t
'my-org-mobile-sync-pull-and-push)))
(defun my-org-mobile-sync-stop ()
"Stop automated `org-mobile-push'"
(interactive)
(cancel-timer my-org-mobile-sync-timer))
(my-org-mobile-sync-start)
Run Code Online (Sandbox Code Playgroud)
另一种方法是将以下内容放在cron作业中(我在这里找到了https://github.com/matburt/mobileorg-android/wiki/Scripting/):
emacs --batch --load ~/.emacs --eval "(org-mobile-pull)" --eval "(org-mobile-push)"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3202 次 |
| 最近记录: |