【问题标题】:How to use hl-line-mode to highlight just one (1) line when visual-line-mode is enabled启用视觉线模式时如何使用 hl-line-mode 仅突出显示一 (1) 行
【发布时间】:2013-11-28 22:26:31
【问题描述】:

是否有人可以替代或修改hl-line-mode,以便在启用visual-line-mode 时仅突出显示一 (1) 条水平线?

目前,整个自动换行的行都会突出显示,即使它可能跨越几条水平线。我使用的是相当新的 Emacs Trunk 版本。

【问题讨论】:

    标签: emacs elisp


    【解决方案1】:

    您应该可以使用hl-line-range-function 来控制它,给它提供停止在end-of-visual-line 使用的位置的代码。

    (100% 未经测试——只是检查了一下源代码。不,我不使用visual-line-mode。)

    【讨论】:

    • 非常感谢您朝着正确方向迈出的一步——如果时间允许,我将在第二天左右完成这项工作——非常感谢。
    • Aquamacs 的维护者已经包含了一个实现这个目标的函数:(defun visual-line-line-range () (save-excursion (cons (progn (vertical-motion 0) (point)) (progn (vertical-motion 1) (point))))):github.com/davidswelt/aquamacs-emacs/blob/master/lisp/simple.el 他还在视觉线模式的次要模式定义中添加了这行代码:@ 987654326@。或者,可以使用这行代码:(setq hl-line-range-function 'visual-line-line-range)
    • 这有点用,但是当上一行的可用列数少于最大值时,突出显示会向后延伸到上一行。
    猜你喜欢
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多