我強調當前行通過評估:的Emacs:使用高亮短語HL-行模式衝突
(hl-line-mode)
它也可以全局設置:
(global-hl-line-mode nil)
的問題是,這樣線突出重寫highlight-phrase
。所以我的問題是:「如何突出當前行和這一行中的給定短語?」
我強調當前行通過評估:的Emacs:使用高亮短語HL-行模式衝突
(hl-line-mode)
它也可以全局設置:
(global-hl-line-mode nil)
的問題是,這樣線突出重寫highlight-phrase
。所以我的問題是:「如何突出當前行和這一行中的給定短語?」
highlight-phrase
和hl-line
都應用具有背景顏色設置的面。 hl-line
因爲它使用覆蓋而獲勝,而overlays always override text properties, which highlight-phrase
uses。我建議你通過自定義hi-yellow
臉部來解決這個問題,以使用明亮的前景色而不是背景色,甚至是一個盒子。
因此,這裏有一些定義上並不理想的解決方案。這樣做:
M-x customize-face
emacs的,然後問你哪一個,我也
hl-line
然後我關掉「繼承」標誌(最後一個),並打開「前景」的旗幟, - 它是在說「黑色」 - 我把它變成了紅色。之後,您應該將其全部保存在頁面的頂部 - 無論是 - 僅適用於此部分,還是針對未來的會話。
就是這樣!這種方式當前行文字拖欠紅色字體,而highlight-phrase
突出顯示黃色的短語。
編輯:我發佈的以前的解決方案不起作用,但這應該。
高亮有兩種模式,一種是啓用字體鎖的緩衝區(使用字體鎖),另一種是無(使用疊加層)。我發現的解決方案是簡單地強制突出顯示,以便始終使用覆蓋,因此優先級高於h-line(因爲較短的覆蓋優先級較高,給定相同的值priority
)。
爲此,我進入了hi-lock.el
並將font-lock-fontified
的每個實例都替換爲nil
。之後請務必M-x byte-compile-file
以更新hi-lock.elc
。
很酷。我不再強調當前的路線,但是如果我願意 - 我可能會使用該解決方案。 – Adobe
@fzlogic我完全按照步驟操作(修改hi-lock.el,byte compbile它),並且仍然不起作用,這裏缺少任何stpes?任何行添加到init.el?謝謝! – shelper
@shelper我只是(重新)測試它,它工作正常。你碰巧安裝了多個版本的emacs? – Rufflewind
恐怕我不理解可以做些什麼來解決這個問題,但至少我已經獲得了hl線獲勝,因爲它使用了疊加。也許以後我會管理這些。感謝你的回答。 – Adobe
我描述的解決方法是修改'hi-yellow'面部(可能使用'Mx自定義面部')以賦予它不同的面部屬性,即使在'hl-line'覆蓋時也可以很容易地看到它'前景'。 (當然,這不是一個完美的解決方案!) – sanityinc
非常感謝 - 我終於做到了!雖然單獨定製「前景」並不奏效。一個關閉了「繼承」標誌。我想我會發布整個答案 - 因爲這對其他人更方便。再次感謝你的幫助。 – Adobe