【发布时间】:2019-05-06 00:37:08
【问题描述】:
问题:
在 Emacs 配置模式(例如 conf-xdefaults-mode 或 conf-space-mode)中,一些特殊字符以不寻常的方式使用,例如在它们定义键绑定时。这会打乱缓冲区其余部分的突出显示。
示例:
ranger rc.conf 文件使用conf-space-mode,这极大地提高了它的可读性。但如:
map # console shell -p%space
map "<any> tag_toggle tag=%any
弄乱了突出显示,因为# 通常定义一个注释,然后是font-lock-comment-face,直到行尾," 定义字符串的开头,然后是font-lock-string-face,直到遇到关闭引用。
转义这些字符不是一种选择,因为它会阻止它们定义键绑定。
可能的解决方案:
我能想到的最佳解决方案是修改这些配置模式的字体锁定设置,以删除那些特殊字符之后的突出显示。但是,当合适的时候,我会在这些字符之后放松适当的突出显示。
折衷方案是在# 之后继续突出显示,因为这只会弄乱一行,并且这些配置文件中有很多 cmets,同时删除单引号和双引号后的突出显示,因为这些会弄乱整个其余部分缓冲区和字符串在配置文件中并不常见。
问题:
处理这些情况的正确方法是什么?
有没有办法在缓冲区中的某个点重置突出显示?或者插入一个会影响突出显示(修复它)而不影响代码的字符?还是有一种方法可以“转义”某些字符以仅突出显示而不影响代码?
【问题讨论】: