我很想知道是否有一种使用函数编辑文本块面的简单方法。
具体来说,我正在创建一个我创建的日历主模式,并且我想定义一个函数,该函数将绑定到此主模式下的击键。我希望能够标记一组文本,然后使用此键绑定更改其面部以将其标记为“已完成”等。
我做了一些研究,却未能找到这个确切的问题。另外,我知道我基本上可以在org-mode中做这件事,但我真的想创建自己的模式以在我的结束时实现更多的灵活性。
答案 0 :(得分:1)
如果您使用3个月的迷你日历作为创建主要模式的基础,那么就已经有了这样做的工具。要查看其效果,请键入M-x calendar
,然后键入M-x calendar-mark-holidays
。要查看其工作原理,您可以输入M-x find-function RET calendar-mark-holidays RET
并查看它使用函数calendar-mark-visible-date
- 所以您拥有它,这是您感兴趣的功能。 Drew Adams有一个更高级的日历标记日期,有一些额外的选项:https://www.emacswiki.org/emacs/calendar%2B.el。这些标记是叠加层,可以通过优先级进行控制,使一个取代另一个标记,这样除非您愿意,否则实际上不需要删除颜色。
以下是使用F5键的键盘快捷键/功能的快速示例:(define-key calendar-mode-map [f5] (lambda () (interactive) (calendar-mark-visible-date (calendar-cursor-to-date 'signal-error) '(:background "yellow" :foreground "black"))))
答案 1 :(得分:1)
听起来像是临时的,而不是语法,突出显示:您希望手动选择要突出显示的特定任意文本,并且您希望选择要用于此选定位或该选定位文本的突出显示面。
您可以使用库Highlight(highlight.el
)来执行此操作。
命令hlt-choose-default-face
选择要用于后续突出显示的面(它会在完成时读取面部名称或颜色名称)。
选择突出显示面的另一种方法是使用命令
hlt-next-face
或hlt-previous-face
。这些循环在一个
较小的面孔和背景颜色,中的元素
选项hlt-auto-face-backgrounds
的列表值。你可以使用
数字前缀参数用这些命令来选择任何一个
元素在列表中的绝对位置。
有一些命令(例如hlt-highlight
)可突出显示或取消突出显示活动区域,或者您可以拖动鼠标以突出显示(或取消突出显示)。默认情况下,它们使用您选择的最后一个默认面。
有关持续突出显示的信息,请参阅Temporary or Permanent Highlighting。