emacs org 如何實現(xiàn)功能和文本的混編

org是emacser常用的模式,具有富文本、鏈接、表格等功能?,F(xiàn)在想加一個函數(shù)功能,比如在這樣一句話中加入一個feed-dog函數(shù):

  • This is a pre-defined function called feed-dog.

但是一般情況下org中的function是()形式,也就是必須寫成下面的形式才能執(zhí)行為功能:

  • This is a pre-defined function called (feed-dog).
    顯然,這樣看起來破壞了正常文本的格式,于是決定去掉括號,定義一個函數(shù)eval-last-sexp-without-parentheses即可實現(xiàn):
(defun eval-last-sexp-without-parentheses ()
  (interactive)
  (progn 
    (forward-word 1)
    (funcall (intern (eval (current-word))))(sit-for 0.1)))

這個函數(shù)對eval函數(shù)進行了一些修改,也可以根據(jù)具體需求采用其它函數(shù)。
最后,將此函數(shù)綁定到一個快捷鍵上,這里用的是TAB:

(global-set-key (kbd "TAB") 'eval-last-sexp-without-parentheses)

如此以來,便實現(xiàn)了在文本中執(zhí)行功能。

應用場景似乎極少,比較適合整理思路。比如做一些TODO list時可以直接跳轉(zhuǎn)到相應預定義功能:

  1. feed-dog.
  2. submit-code.
    如果預先定義submit-code,在檢查TODO時可直接執(zhí)行.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容