2011-10-06 28 views
3

這個問題可能很簡單,但我很掙扎,因爲我是ELISP的新手。用鍵綁定給定子樹

我想要一個鍵綁定來將當前子樹重新設置爲子樹TRASH。

雖然我已經編寫了代碼,但不起作用。你能幫我解決嗎? 在此先感謝!

代碼:

(defun org-move-to-trash() 
    (org-refile "TRASH") ;; the function fails here because the parameter has to be specified in a different way. But how? 
) 

(global-set-key (kbd "C-c b") 'org-move-to-trash) 

回答

6

如果你有興趣的elisp,你可以閱讀組織,重新提交的源代碼,看看如何準備,預計參數(它不是直線前進)。但是,要解決這個問題以及其他更常見的問題,根本就不需要elisp。你需要一個鍵盤宏。請參閱manual

我將概述我想借此來解決這個步驟:

  1. CX(
  2. 抄送CW TRASH
  3. CX)
  4. 的Mx名字,最後大骨節病宏
  5. org-refile-to-TRASH
  6. Cx b scratch
  7. 的Mx插入 - 大骨節病宏
  8. ORG-重新提交到垃圾桶

你應該看到:

(fset 'org-refile-to-TRASH 
    [?\C-c ?\C-w ?T ?R ?A ?S ?H return]) 

您可以將此代碼粘貼到您的init文件,並使用org-refile-to-TRASH作爲命令,就像它是一個defun例如在global-set-key,M-x

+0

哇!知道一件非常有用的事情。這可以解決我與emacs有很多其他問題:)感謝分享! – andrei

+0

很高興你發現我的答案有幫助。如果它解決了您的問題,請點擊複選標記將其標記爲已接受的答案。並upvote它! :) –