用于更改角色正面的键绑定

时间:2018-05-09 13:35:12

标签: emacs highlight

我很想知道是否有一种使用函数编辑文本块面的简单方法。

具体来说,我正在创建一个我创建的日历主模式,并且我想定义一个函数,该函数将绑定到此主模式下的击键。我希望能够标记一组文本,然后使用此键绑定更改其面部以将其标记为“已完成”等。

我做了一些研究,却未能找到这个确切的问题。另外,我知道我基本上可以在org-mode中做这件事,但我真的想创建自己的模式以在我的结束时实现更多的灵活性。

2 个答案:

答案 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)

听起来像是临时的,而不是语法,突出显示:您希望手动选择要突出显示的特定任意文本,并且您希望选择要用于此选定位或该选定位文本的突出显示面。

您可以使用库Highlighthighlight.el)来执行此操作。

命令hlt-choose-default-face选择要用于后续突出显示的面(它会在完成时读取面部名称或颜色名称)。

选择突出显示面的另一种方法是使用命令 hlt-next-facehlt-previous-face。这些循环在一个 较小的面孔和背景颜色,中的元素 选项hlt-auto-face-backgrounds的列表值。你可以使用 数字前缀参数用这些命令来选择任何一个 元素在列表中的绝对位置。

有一些命令(例如hlt-highlight)可突出显示或取消突出显示活动区域,或者您可以拖动鼠标以突出显示(或取消突出显示)。默认情况下,它们使用您选择的最后一个默认面。

有关持续突出显示的信息,请参阅Temporary or Permanent Highlighting