emacs:通过下划线突出显示当前行

时间:2010-04-27 01:33:14

标签: emacs

在vim中,我们可以使用dotvim文件中的“set cursorline”将其打开。有没有办法在emacs中执行此操作?

3 个答案:

答案 0 :(得分:21)

在.emacs中,为hl-line-mode自定义面部,例如:

(global-hl-line-mode 1)
(set-face-attribute hl-line-face nil :underline t)

hl-line-face是一个变量,用于存储face hl-line-mode用于显示当前行的名称。您可以根据自己的喜好自定义:foreground :background和其他一些属性。查看文档here

global-hl-line-mode打开,突出显示所有缓冲区中的当前行。如果您只想在某些缓冲区中使用它,请使用 M-x hl-line-mode 打开它。

答案 1 :(得分:13)

关于此主题的博客文章很好:M-x all-things-emacs

以下代码(输入机智M-:或〜/ .emacs)使用RGB代码#222作为背景颜色(如果你在256-color mode!)并强调当前行上的字体。取消设置前景色使用默认颜色,例如在突出显示的行上保留C ++颜色。

(global-hl-line-mode 1)
(set-face-background 'highlight "#222")
(set-face-foreground 'highlight nil)
(set-face-underline-p 'highlight t)

您可以使用M-x检查是否需要更改highlight或(afaik较旧)hl-line并且:

describe-face <RET> highlight
describe-face <RET> hl-line

此命令显示用于突出显示当前行的字体的所有设置。你应该得到这样的输出:

Face: highlight (sample) (customize this face)
Documentation:
Basic face for highlighting.

        Family: unspecified
       Foundry: unspecified
         Width: unspecified
        Height: unspecified
        Weight: unspecified
         Slant: unspecified
    Foreground: unspecified
    Background: #222
     Underline: t
      Overline: unspecified
Strike-through: unspecified
           Box: unspecified
       Inverse: unspecified
       Stipple: unspecified
          Font: unspecified
       Fontset: unspecified
       Inherit: unspecified

答案 2 :(得分:2)

我不认为内置的确切等效。您可以使用hl-line-mode突出显示当前行,并且自定义该模式可让您将突出显示设置为下划线而不是默认的不同背景颜色 - 但你得到的下划线在行的文本末尾停止,而不是继续到窗口的边缘。