2010-08-23 25 views
16

這個問題正在破壞我的生產力。使用Emacs Starter Kit時,在Emacs中禁用hl-line?

Emacs Starter Kit自動啓用hl-line,它突出顯示當前行。它使我無法看到當前行上的突出顯示。

我試過在全局設置(global-hl-line-mode nil)(hl-line-mode nil),並添加到諸如clojure-mode-hook之類的模式鉤子中,但它仍然顯示出來。

我需要什麼elisp來禁用此功能?

+1

請注意'(hl-line-mode nil)'是一個切換鍵,所以它不是很健壯。 '(hl-line-mode 0)'總是關閉模式(但當然不會阻止別的東西在以後再打開它)。 – Gilles 2010-08-23 23:06:18

回答

9

HL-行模式是通過下面的行啓動-KIT-defuns.el開啓:

(add-hook 'coding-hook 'turn-on-hl-line-mode) 

您可以註釋掉該行,或者如果你寧願不碰首發包文件,你可以把下面的在〜/ .emacs.d/{用戶名}您的個人init文件.el:

(remove-hook 'coding-hook 'turn-on-hl-line-mode) 
1

嘗試將(global-hl-line-mode nil)放置在您的.emacs的底部,因此沒有其他命令會覆蓋它。

1

我不認爲你的問題來自ESK - 它不啓用hl線路模式。如果這是真的,你必須在某個地方有一條看起來像(global-hl-line-mode t)的線。我建議只需在你的配置中搜索該行,並在找到它時將其刪除。還有其他突出顯示模式。 ESK自動安裝ELPA的空閒高亮 - 也許這就是你的意思。您可以通過刪除它從這段代碼在初學者工具包 - elpa.el條目中刪除它:

(defvar starter-kit-packages (list 'idle-highlight 
            'ruby-mode 
            'inf-ruby 
            'css-mode 
            'yaml-mode 
            'find-file-in-project 
            'magit 
            'gist) 

你也應該刪除從ELPA的文件夾中下載的軟件包,並重新啓動的Emacs。

1

如果您使用ESK,那麼放置自定義設置的最佳位置不是.emacs,而是.emacs.d/{用戶名} .el或.emacs.d/{用戶名}/{用戶名} .el。

18

在入門套件2對應的鉤去掉是:

(remove-hook 'prog-mode-hook 'esk-turn-on-hl-line-mode) 

初學者入門套件初始化後,您需要將其添加到您自己的配置中。

4

我知道這是一個老問題,但最近我有同樣的問題(使用emacs 24),發現它也可以簡單地通過定製的「HL-線」面子解決:

  1. 待辦事項「Mx自定義面」並輸入「hl-line」。
  2. 定製根據自己的喜好和「保存爲將來的會話」。

如果關閉所有屬性,至少從用戶的角度來看,可以有效地禁用該功能。對於我來說,轉動顏色突出顯示並將「重量」設置爲「沉重」將hl-line從惱人轉變爲不顯眼且中等有用的特徵。

+0

我用這個solutoin,改變hl模式身體我的當前行,不改變背景或forground的顏色,刪除繼承,現在它有點有用/愉快。 – PPPaul 2013-01-15 16:00:25

0

你問如何禁用HL-行模式,但你說你想這樣做,因爲HL-行模式掩蓋了正常的語法高亮,你更希望看到來代替。那麼,如果我告訴你可以同時使用突出顯示的行和語法突出顯示,那該怎麼辦?試試這個:

;; Change the :background setting to a value that is only very subtly 
;; lighter than the default bg color. 
(set-face-attribute 'hl-line nil 
        :background "#3d4753" 
        :foreground nil 
        :inherit t) 

最終的結果是高亮線已在後臺一個非常漂亮的微妙高亮效果,並保持你的所有有價值的語法高亮出現在前臺。如果您仔細選擇背景顏色,您將不會遇到fg/bg顏色的可讀性衝突問題(我的意思是,如果您選擇高對比度突出顯示的線條顏色,則突出顯示顏色的語法會衝突並難以閱讀,所以通過選擇只有非常微妙的顏色,你仍然可以看到它,而不必擔心碰撞的fg顏色)。