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