How to confiugre highlight column?

I try to find a way to configure highlight column. Do you have any suggestions?

https://www.emacswiki.org/emacs/HighlightCurrentColumn

问题是什么?

我的问题是 如何通过配置 实现当前光标所在列的高亮?

首先吐槽你的标题,根本没说清楚,应该改为

How to highlight current column?

第一行代码是高亮,第2行改背景颜色,你自个配置

(global-hl-line-mode 1) (set-face-background 'hl-line "#3e4446")

1 个赞

非常感谢,谢谢!!! 我的意思是高亮当前字符所在的整个屏幕上的这一列,不仅仅是当前的这字符。 我加了你的配置,好像不行。

hl-line 设置的是高亮某一行。想要高亮一列的话需要用 col-highlight。 这是我的设置(用了spacemacs):

(defun liu233w/init-col-highlight ()
  "高亮当前列"
  (use-package col-highlight
    :defer t
    :init
    (spacemacs/set-leader-keys
      "otc" #'column-highlight-mode)
    :config
    ;; 与默认的行高亮的颜色相同
    (set-face-background col-highlight-face "#073642")))

貌似在windows底下移动光标非常卡顿啊_(:зゝ∠)_


EDIT:我刚刚发现 vline 更好用一些,起码不怎么卡了:

(defun liu233w/init-vline ()
  "高亮当前列"
  (use-package vline
    :defer t
    :init
    (spacemacs/set-leader-keys
      "otc" #'vline-mode
      "otC" #'vline-global-mode)
    :config
    ;; 与默认的行高亮的颜色相同
    (set-face-background vline-face "#073642")))

It works very well, thank you very much!

与默认的行高亮的颜色相同

这个好像无效,颜色 太亮了

那个字符串是我的主题里面的颜色编号,你可以随便改的

改什么颜色都不变的,都是浅蓝白色,能不能和行高亮的颜色保持一致啊?

那可能是因为设置颜色的代码没有运行,有可能那段代码放的位置不对,你可以试试把光标放在 (set-face-background vline-face "#073642") 的后面按 C-x C-e 行不行(可能需要重启一下 vline)


如果你的行高亮用的是 hl-line-mode 的话可以用下面的代码来获取高亮的颜色:

(face-attribute hl-line-face :background)

剛剛試了一下,這樣的話換了主題,hl-line的顏色也會跟著變了

(defun shdennlin/init-vline ()
  (use-package vline
    :init
    (spacemacs/set-leader-keys
      "otc" #'vline-mode
      "otC" #'vline-global-mode)
    :config
    ;; 設置背景顏色
    (set-face-background vline-face (face-attribute 'hl-line :background))
    ))

但後來我發現,這樣會導致卡卡的,可能是因為每次都要調用一次 face-attribute 去讀顏色,所以後來我還是改成

(defun Shawn/init-vline ()
  (use-package vline
    :init
    (spacemacs/set-leader-keys
      "otc" #'vline-mode
      "otC" #'vline-global-mode)
    :config
    ;; (set-face-background vline-face (face-attribute hl-line-face :background))
    (set-face-background vline-face "#44475a")
    ))

可以用(face-attribute hl-line-face :background)得到 hl-line-face :background 的顏色