937_emacs中使用elisp插入指定的文本信息

emacs中使用elisp插入指定文本信息

Grey

全部学习汇总: https://github.com/GreyZhang/editors_skills

emacs中使用elisp插入指定的文本信息

开篇

刚刚开始使用org-mode作为我自己的主力笔记系统,正好我在使用org-mode的时候 里面有一些标题以及作者这样的固定内容,可以尝试在学习这个功能的时候完成这 个插入的自动实现。

示范代码解读

代码示例

下面这一段代码来自李杀的网站上elisp教程:

(defun insert-p-tag ()
  "Insert <p></p> at cursor point."
  (interactive)
  (insert "<p></p>")
  (backward-char 4))

代码分析

上面定义了一个函数,而interactive用以说明函数可以作为交互式命令使用。函数 没有参数传入。按照字面的意思,insert应该是用来在光标当前位置插入字符串,而 backward-char可以让光标回退4个字符,目的是回到中间><两个符号中间。

功能定制

如果我自己来插入org-mode笔记中开头的信息,可以插入类似的信息,留出标题可以 填写。尝试完成光标回退到上一行末尾失败了,在我的设计中暂且不去考虑光标移动 了。而我使用的evil也能够非常快速实现接下来的处理操作。

自用代码-用以插入org-mode笔记中开头的信息

(defun my-org-insert-note-header ()
  "Insert TITLE and author information at cursor point."
  (interactive)
  (insert "-*-  mode: org; mode: visual-line -*-\n#+TITLE: \n#+author: Grey")
  ;; (backward-char 4)
  )

测试使用

实际使用的时候,直接M-x调用相关的命令即可实现内容的插入。效果如下:
-- mode: org; mode: visual-line -- _#+TITLE:
_#+author: Grey 937_emacs中使用elisp插入指定的文本信息

小结

内容非常简短,算是近段时间我自己尝试调试定制过的第二个emacs配置了。从使用 的便捷上来说,对我的工作学习的确是很有帮助。

 

上一篇:浮浅知识


下一篇:概率算法