Emacs - 如何使用颜色在视觉上突出光标所在的功能?

标签 emacs text-editor

受 ia Writer 的焦点模式的启发,我对在 emacs 中使用字体 + 背景颜色来突出光标所在的功能感兴趣,并在视觉上将其余代码提示为背景(我使用 C++,但如果这样就好了无论编程语言如何都可以工作)。

理想情况下,函数外部代码的字体颜色会变暗(这就是焦点模式的工作原理)。一个更简单的解决方案可能是稍微改变光标当前所在函数的背景颜色。如何做到这一点?

最佳答案

AFAIK 不存在这样的东西。如果你想让它自己写,这是一个草图:

  • 编写一个例程来确定当前函数的边界。最简单的方法是使用 (bounds-of-thing-at-point 'defun) .
  • 编写一个例程,当给定区域的边界时,gets the background face property of the region的区域,将其变暗,并将新面应用到该区域。
  • 覆盖 font-lock-fontify-region-function (参见 here )使用调用此变量原始值的例程,将给定的区域与当前定义的区域(使用 #1)进行区分,然后将例程 #2 应用于剩余区域。

  • 我更喜欢覆盖字体锁,例如,使用 jit-lock-register因为你需要控制字体化的顺序。

    哼!

    关于Emacs - 如何使用颜色在视觉上突出光标所在的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394472/

    相关文章:

    emacs - 自定义 repl/nrepl 错误消息

    ide - 您是否在文本编辑器和IDE之间进行区分?

    eclipse - eclipse中如何搜索回车符

    emacs - 你的 .emacs 里有什么?

    linux - 有谁知道如何在 Visual Studio Code 中重置 gitlens 扩展的身份验证

    emacs - Elisp:这是保存偏移的预期行为吗?

    sorting - 根据自定义比较器对 emacs dired 缓冲区进行排序

    windows - 为什么 emacs 中的 vc-git 和 magit 会忽略我的 git 配置设置?

    Emacs:如何用 defun 中的 lisp 函数替换正则表达式?

    eclipse - 如何在 Eclipse 中以编程方式重新加载文本编辑器?