【发布时间】:2014-11-02 04:40:52
【问题描述】:
我想改变标签在组织模式缓冲区中的显示方式:
* 标题 :tag1:tag2:tag3:
到这里:
* 标题tag1tag2tag3
所以基本上,我正在寻找的变化是:
紧接在标题之后的开始标签。
隐藏
:字符在每个标签之间添加一个空格,以便在
visual line mode中正确包裹一长串标签删除标签的默认粗体格式并添加突出显示
到目前为止,我已经能够通过自定义Org Tag 属性来更改字体并添加高亮。作为临时/黑客,我通过打开hi-lock-mode 然后M-x highlight-phrase [RET] : [RET] org-hide [RET] 使: 字符不可见。但这只是隐藏了冒号——它实际上并没有创建一个真正的空间。所以标签仍然无法在visual line mode 中正确包装。此外,这会隐藏所有冒号,无处不在,而不仅仅是分隔标签的冒号。
也许另一种选择是添加空格但保留冒号?
* 标题:tag1:tag2:tag3
我一直在用日光主题试听这个。截图如下:
有什么想法吗,cmets?谢谢!
【问题讨论】:
-
在防止标签右对齐方面,可以使用
(setq org-tags-column 0)。至于其他的东西,我会把它留给另一个论坛参与者。如果你放了空格,你可能会受到伤害,因为正则表达式用于定位和处理标签。我不认为标签正则表达式\\(:[[:alnum:]_@#%:]+:\\)考虑空格,所以如果你尝试放置空格,你会遇到无法预料的后果。 -
就字体而言,将光标放在存在特定字体的位置并输入
C-u C-x =,这将告诉您想要字体存在。然后您可以使用M-x customize-face自定义适用的字体。当您变得更高级时,您可以在.emacs或init.el文件中手动编辑字体修改。至于您的换行问题,您可以在属性抽屉下方使用“注释”,并保持标题简单,以免换行。一旦你习惯了 org-mode,你可能会喜欢冒号而忘记隐藏它们。 -
您几乎可以通过
displaytext 属性对任何文本执行任何操作。见gnu.org/software/emacs/manual/html_node/elisp/… 我认为这可以在org-font-lock-set-keywords-hook中使用。 (对此不确定。) -
托拜厄斯,谢谢!不幸的是,我对 elisp 完全了解 zip ......你将如何实现它?