美文网首页Emacs
emacs org 如何实现功能和文本的混编

emacs org 如何实现功能和文本的混编

作者: jsci | 来源:发表于2020-01-05 22:52 被阅读0次

    org是emacser常用的模式,具有富文本、链接、表格等功能。现在想加一个函数功能,比如在这样一句话中加入一个feed-dog函数:

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

    但是一般情况下org中的function是()形式,也就是必须写成下面的形式才能执行为功能:

    • This is a pre-defined function called (feed-dog).
      显然,这样看起来破坏了正常文本的格式,于是决定去掉括号,定义一个函数eval-last-sexp-without-parentheses即可实现:
    (defun eval-last-sexp-without-parentheses ()
      (interactive)
      (progn 
        (forward-word 1)
        (funcall (intern (eval (current-word))))(sit-for 0.1)))
    

    这个函数对eval函数进行了一些修改,也可以根据具体需求采用其它函数。
    最后,将此函数绑定到一个快捷键上,这里用的是TAB:

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

    如此以来,便实现了在文本中执行功能。

    应用场景似乎极少,比较适合整理思路。比如做一些TODO list时可以直接跳转到相应预定义功能:

    1. feed-dog.
    2. submit-code.
      如果预先定义submit-code,在检查TODO时可直接执行.

    相关文章

      网友评论

        本文标题:emacs org 如何实现功能和文本的混编

        本文链接:https://www.haomeiwen.com/subject/mlzcactx.html